我正在尝试以下简单代码(在html中,在IE8上使用js):
<input type="image" src="pic.jpg" id="aa" ondblclick="alert('aa');"/>
<script>
document.getElementById('aa').dblclick();
</script>
我得到一个错误:对象不支持此属性或方法(关于脚本部分)。我没有得到警报。
当我点击图片时,我收到了提醒信息。 所以我想知道如何以编程方式触发dblclick事件(实际上没有双击图像)。
使用onclick(而不是dblclick)也能正常工作。 我也尝试了按钮,输入文字。同样的错误。
答案 0 :(得分:7)
属性名称为ondblclick
,但您尝试拨打dblclick
。您需要致电ondblclick
。
<script>
document.getElementById('aa').ondblclick();
</script>
答案 1 :(得分:2)
试试这个:
<input type="image" src="pic.jpg" id="aa" ondblclick="alert('aa');"/>
<script>
document.getElementById('aa').ondblclick();
</script>
答案 2 :(得分:0)
来自MDN的示例代码:
function simulateClick() {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
var cb = document.getElementById("checkbox");
var canceled = !cb.dispatchEvent(evt);
if(canceled) {
// A handler called preventDefault
alert("canceled");
} else {
// None of the handlers called preventDefault
alert("not canceled");
}
}
通过这种方式,您还可以通过DOM气泡跟踪事件,并确保它未被取消。