15

JS 単体テストでは、ダブルクリックが期待どおりに動作することを確認する必要があります。問題は、イベントが element.addEventListener を介して登録されたことです。そして、何らかの理由で、この場合、 element.ondblclick() は機能しません。HTML:

<input type="image" src="pic.jpg" id="aa"/>

Javaスクリプト:

document.getElementById('aa').addEventListener("dblclick", function(){alert('aa')});
document.getElementById('aa').ondblclick();

フィドル: http://jsfiddle.net/prZKy/

画像をダブルクリックすると動作しますが、javascript の ondblclick() は動作しません。

誰でもそれを行う方法について考えがありますか?

4

2 に答える 2

34

dispatchEventプログラムでイベントをトリガーするために使用できます。

var event = new MouseEvent('dblclick', {
    'view': window,
    'bubbles': true,
    'cancelable': true
  });
document.getElementById('aa').dispatchEvent(event);

MDNの「組み込みイベントのトリガー」セクションを参照してください。

これは、実際のコードのフィドルです

于 2013-08-23T09:25:24.637 に答える