android的webView 为什么getElementsByTagName().click()使用不了?_百度知道

click不是html标准方法,有些android系统的webview里的a元素就是没有click方法,你在js里试试alert(HTMLAnchorElement.prototype.click),看看有没有,如果没有就不要用click方法,另外实现。

我在android的webView运行javascript代码,

如果使用document.getElementsByTagName(“a”)[0].innerHTML;是可以正常执行的,
如果是document.getElementsByTagName(“a”)[0].click();则不能正常运行,显示 Object #<HTMLLIElement> has no method 'click' at null,有没有高手知道是怎么回事呀?

 

 

2014-01-10 18:22

 

 

网友采纳

使用JavaScript触发事件动作,并不像jQuery一样简单使用 trigger() 就行,要自己实例化一个事件对象,然后模拟触发

1
2
3
4
5
6
7
var ev = document.createEvent('MouseEvents');
// initMouseEvent的参数比较多,可以参见API文档
// https://developer.mozilla.org/en-US/docs/Web/API/event.initMouseEvent
ev.initMouseEvent('click'truetrue, window, 1, 0, 0, 0, 0, falsefalsefalsefalse, 0, null);
document.getElementsByTagName('a')[0].dispatchEvent(ev);

 

使用jQuery就会很简单

1
$('a:first-child').trigger('click');

来源URL:http://zhidao.baidu.com/link?url=8WnxCr7ITDMRsLk48OEgM0zgNz3sreXUub_1IM276xKMjXDFz97yIpzRYvK7T8EuF5prcE46AwuQy4iZRrtPXFjQnzAeyIMEZSsYZfGkdKy