JavaScriptでクリックをシミュレートするには?
JavaScriptを使って要素のクリックをシミュレートするにはどうしたらいいのかと思っています。
現在、私は
<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>
しかし、それは動作していません :(
何かアイデアはありませんか?
261
3
これは私が作ったものです。とてもシンプルですが、うまくいきました。
使い方。
jQueryを使ってブラウザの検出を回避することを考えたことはありますか? jQueryを使えば、次のように簡単にできます。
一番上の回答がベストです!しかし、Firefoxでは、
etype = 'click'
の時に、マウスイベントが発生しませんでした。そこで、
document.createEvent
を'MouseEvents'
に変更したところ、問題が解決しました。この余分なコードは、他のコードがイベントを妨害していないかどうかをテストするためのもので、もしキャンセルされていたら、そのことをコンソールにログします。