Comment programmer un événement dblclick défini avec addEventListener?
pour le test de L'Unité JS, je dois vérifier qu'un double-clic se comporte comme prévu. Le problème est que l'événement a été enregistré via l'élément.addEventListener. Et pour une raison quelconque, dans ce cas, l'élément.ondblclick() ne fonctionne pas. HTML:
<input type="image" src="pic.jpg" id="aa"/>
Javascript:
document.getElementById('aa').addEventListener("dblclick", function(){alert('aa')}); document.getElementById('aa').ondblclick();
Violon: http://jsfiddle.net/prZKy/
si vous double-cliquez sur l'image, cela fonctionne, mais ondblclick() dans le javascript ne fonctionne pas.
quelqu'un a une idée sur comment le faire?
10
demandé sur
Stilltorik
2013-08-23 13:19:35
2 réponses
Vous pouvez utiliser dispatchEvent
par programmation d'événements de déclenchement:
var event = new MouseEvent('dblclick', {
'view': window,
'bubbles': true,
'cancelable': true
});
document.getElementById('aa').dispatchEvent(event);
voir la section "déclenchement d'événements intégrés" sur MDN.
Ici est un violon du code en action.
14
répondu
CodingIntrigue
2013-08-23 09:31:15
var doubleClickEvent = document.createEvent('MouseEvents');
doubleClickEvent.initEvent('dblclick', true, true);
e.currentTarget.dispatchEvent(doubleClickEvent); // inside method
ça devrait marcher.
1
répondu
Namish
2017-06-07 10:35:04