JSユニットテストでは、ダブルクリックが期待どおりに動作することを確認する必要があります。問題は、イベントがelement.addEventListenerを介して登録されたことです。そして、何らかの理由で、この場合、element.ondblclick()は機能しません。 HTML:
<input type="image" src="pic.jpg" id="aa"/>
Javasript:
document.getElementById( 'aa')。addEventListener( "dblclick"、function(){alert( 'aa')}); document.getElementById( 'aa')。ondblclick() ;
フィドル: http://jsfiddle.net/prZKy/
画像をダブルクリックすると機能しますが、JavaScriptのondblclick()は機能しません。
誰かがそれを行う方法についてのアイデアを持っていますか?
dispatchEvent
を使用して、プログラムでイベントをトリガーできます。
var event = new MouseEvent('dblclick', {
'view': window,
'bubbles': true,
'cancelable': true
});
document.getElementById('aa').dispatchEvent(event);
[〜#〜] mdn [〜#〜] の「組み込みイベントのトリガー」のセクションを参照してください。
ここ は動作中のコードのフィドルです。
これは機能するはずです:
var doubleClickEvent = document.createEvent('MouseEvents');
doubleClickEvent.initEvent('dblclick', true, true);
e.currentTarget.dispatchEvent(doubleClickEvent); // inside method