JavaScript ile bir tıklama nasıl simüle edilir?
Bir öğeye tıklamayı simüle etmek için JavaScript'i nasıl kullanabileceğimi merak ediyorum.
Şu anda elimde:
<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>
Ama çalışmıyor :(
Bir fikrin var mı?
261
3
İşte hazırladığım şey. Oldukça basit ama işe yarıyor:
Kullanım:
Tüm tarayıcı algılamalarından kaçınmak için jQuery kullanmayı düşündünüz mü? jQuery ile, bu kadar basit olurdu:
En üstteki cevap en iyisidir! Ancak,
etype = 'click'
olduğunda Firefox'ta benim için fare olaylarını tetiklemiyordu.Bu yüzden,
document.createEvent
ifadesini'MouseEvents'
olarak değiştirdim ve bu sorunu çözdü. Ekstra kod, başka bir kod parçasının olaya müdahale edip etmediğini test etmek içindir ve iptal edilirse bunu konsola kaydederim.