我想使用浏览器 API(在 javascript 中)触发一个事件。
只是为了测试,我现在正在使用 2 种方式并正常工作:
1)
var event = document.createEvent( "HTMLEvents" );
event.initEvent( "dblclick", true, false );
MyElement.dispatchEvent( event );
2)
var event = new Event( 'dblclick' );
event.initEvent("dblclick",true,false);
MyElement.dispatchEvent( event );
但是 initEvent 和 document.createEvent 是不推荐使用的方法(Firefox)。
有没有其他方法来触发事件(不是创建新事件,也不是使用过时的方法)?
请不要使用 JQuery,纯 javascript
如果可能的话用一个简单的例子来说明会很好。
非常简单的演示示例:http://jsfiddle.net/2w308jxt/1/
在此示例中,单击也会启动双击;)
谢谢。
最佳答案
解决方案就在我眼前(仅限 Firefox):
var event = new Event( 'dblclick', { 'view': window, 'bubbles': true, 'cancelable': true } );
MyElement.dispatchEvent(event);
工作示例(仅限 Firefox):http://jsfiddle.net/2w308jxt/2/
关于Javascript 触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27532556/