リンク( 'a'タグ)があります。 私はJavaScriptを使用してそれをクリックしようとしています。中に.click(); 。それはクロムで失敗します。 (クロムには、オブジェクトにはclickメソッドがありません)。Chromeの「a」タグのクリックをシミュレートします
'onclick'をトリガーするか、 'href'にリダイレクトするとジョブは実行されません。
これを行う方法上の任意のアイデア? 私はこのためにライブラリ全体を取得しないことが好ましいです。
リンク( 'a'タグ)があります。 私はJavaScriptを使用してそれをクリックしようとしています。中に.click(); 。それはクロムで失敗します。 (クロムには、オブジェクトにはclickメソッドがありません)。Chromeの「a」タグのクリックをシミュレートします
'onclick'をトリガーするか、 'href'にリダイレクトするとジョブは実行されません。
これを行う方法上の任意のアイデア? 私はこのためにライブラリ全体を取得しないことが好ましいです。
var event = document.createEvent("MouseEvents");
event.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0,
false, false, false, false,
0, null);
element.dispatchEvent(event);
は、私は、この使用dispatchEvent()
私はあなたがライブラリを望んでいないが、この人のフットプリントはかなり小さいと理解していますが、これにはevent.simulateを使用できます。それはPrototypeJSのlibですが、私は移植がとても簡単だろうと確信しています。
$('my_anchor').simulate('click');
それは問題なくクロスブラウザで動作します:あなたが呼ぶようなプロトタイプにそれを使用する
。
感謝を。 .. mootoolsの場合、.fireEvent( 'click')は正しいものです。 – joelhardi
参照先の記事を読んでみてください。著者にも同じ問題があります。
彼はonLoadコールバックでスクリプトを実行することによってそれを解決します。
<body onLoad="DefaultButtonFix()">
Refernece:Click event fires in IE/Firefox, but Chrome is dropping the event assignment
あなたはjQueryのを知っている場合は、単に無名関数を作成し、onclickのイベントをリッスン。 hrefのクラスまたはID、
などを指定する必要があります。 HTML:
<a href='' id='clickMe'>Click here</a>
のjQuery:
$(function() {
$("#clickMe").click(function() {
... the action you wish to perform ...
})
})
・ホープ、このことができます。 デイブ
これはクリックイベントのみをリッスンし、opはクリックを「シミュレート」します。 – epoch
有効なポイントは、私はより完全にopメッセージを読んでいたはずです! – detheridge02
で動作するはずです:ちょうどライブラリのメソッドを使用するには、リマインダー用
function dispatchEvent(el, e)
{
// console.log("dispatching");
if ("createEvent" in document)
{
var evt = document.createEvent("HTMLEvents");
evt.initEvent(e, false, true);
el.dispatchEvent(evt);
}
else
{
el.fireEvent("on" + e);
}
}
dispatchEvent(document.getElementById("mylink"), "click");
を使用する非IE-のブラウザではクロム
それはIE専用です –
@ Dr.Molle - 私の間違い、編集された答え。 – amal