【发布时间】:2016-04-15 03:05:24
【问题描述】:
我正在尝试单击 <image> 元素。我发现:
[3] 旧版本只有 HTMLInputElement.click() 和 HTMLButtonElement.click()。
有人知道我怎样才能通过其他方式触发相同的事件吗?
谢谢
编辑:.click() 适用于所有浏览器。但我需要在 Android 的 2.3 浏览器上执行此操作,它给了我:
01-10 21:19:18.375 4786-4786/com.example.victormilazzo.siganotifier E/Web Console: TypeError: Result of expression 'document.getElementById('btnLogin2').click' [undefined] is not a function. at undefined:1
使用下面的代码解决了
正如我所说,旧浏览器仅支持输入或按钮元素的 click() 方法。所以,我尝试了:
function simulateclick(){
var elem = document.getElementById('btnLogin2');
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, elem);
elem.dispatchEvent(evt);
}
var btn = document.createElement('BUTTON');
btn.addEventListener('click', simulateclick);
btn.click();
PS.: 'btnLogin2' 是我试图点击的元素的 ID。这是<div>。
说明:我刚刚创建了一个按钮并添加了一个模拟点击事件的事件监听器
谢谢大家!
【问题讨论】:
-
您打算使用哪个浏览器和版本?
-
IE6及以上可以点击任何东西
标签: javascript image browser onclick