如何在javascript中以编程方式触发onblclick事件
How to programmatically fire ondblclick event in javascript?
我正在尝试以下简单的代码(在html中,在IE8上使用js):
<input type="image" src="pic.jpg" id="aa" ondblclick="alert('aa');"/>
<script>
document.getElementById('aa').dblclick();
</script>
,我得到一个错误:对象不支持这个属性或方法(关于脚本部分)。我没有收到警告。
然而,当我点击图像时,我得到警告消息。所以我想知道如何以编程方式触发dblclick事件(没有实际双击图像)。
对于onclick(而不是dblclick),同样的工作很好。我也试过按钮,输入文本。
属性名称是ondblclick
,但您试图调用dblclick
。您需要呼叫ondblclick
。
<script>
document.getElementById('aa').ondblclick();
</script>
小提琴:http://jsfiddle.net/frwpY/
try this:
<input type="image" src="pic.jpg" id="aa" ondblclick="alert('aa');"/>
<script>
document.getElementById('aa').ondblclick();
</script>
http://jsfiddle.net/dnUZY/1/查看mdn关于element.dispatchEvent
的文章
来自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气泡跟踪事件,并确保它没有被取消。
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 使用javascript存储变量的最安全方式
- 以可优化的方式使用requirejs加载模板
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- 为react组件传递道具的最佳方式
- 让Webpack管理Quirky AMD定义的最佳方式
- 在承诺链中处理早期回报的最佳方式
- 如何“;过滤器”;或者以其他方式重构该数据
- 您有更好的动态方式来缩短复杂的代码jquery吗
- 在ng重复循环中显示条件内容的最佳方式是什么
- 在phonegap中为android调用onload函数的最佳方式
- 如何创建更好的方式来维护基于我的代码访问的最后一个页面
- Javascript以不同的方式声明数字
- 链接两个网页或网络应用程序的最佳方式
- 什么's是连接供应商js文件的最佳方式
- 如何在javascript中以编程方式触发onblclick事件