Wie simuliert man einen Klick mit JavaScript?
I'm nur fragen, wie ich JavaScript verwenden können, um einen Klick auf ein Element zu simulieren.
Derzeit habe ich:
<script type="text/javascript">
function simulateClick(control)
{
if (document.all)
{
control.click();
}
else
{
var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent('click', true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null );
control.dispatchEvent(evObj);
}
}
</script>
<a href="http://www.google.com" id="mytest1">test 1</a><br>
<script type="text/javascript">
simulateClick(document.getElementById('mytest1'));
</script>
Aber es's nicht funktionieren :(
Irgendwelche Ideen?
261
3
Hier's, was ich gekocht. Es ist ziemlich einfach, aber es funktioniert:
Verwendung:
Haben Sie schon einmal darüber nachgedacht, jQuery zu verwenden, um die ganze Browser-Erkennung zu umgehen? Mit jQuery, wäre es so einfach wie:
Die oberste Antwort ist die beste! Allerdings war es nicht auslösen Maus-Ereignisse für mich in Firefox, wenn
etype = 'click'
.Also änderte ich
document.createEvent
in'MouseEvents'
und damit war das Problem behoben. Der zusätzliche Code dient dazu, zu testen, ob ein anderes Stück Code das Ereignis stört, und wenn es abgebrochen wurde, würde ich das in der Konsole protokollieren.