1. ホーム
  2. javascript

[解決済み] JQuery.trigger('click');でマウスクリックを発生させる方法

2022-04-26 16:44:15

質問

JQueryを使ってマウスクリックをシミュレートする方法を理解するのに苦労しています。どなたか、私が間違っていることを教えてください。

HTMLです。

<a id="bar" href="http://stackoverflow.com" target="_blank">Don't click me!</a>
<span id="foo">Click me!</span>

jQueryを使用します。

jQuery('#foo').on('click', function(){
    jQuery('#bar').trigger('click');
});

デモの様子 フィドル

ボタン#fooをクリックしたときに#barをクリックしたようにしたいのですが、この操作を行うと何も起こりません。また jQuery(document).ready(function(){...}) が、成功しませんでした。

解決方法は?

を使用する必要があります。 jQuery('#bar')[0].click(); を使用して、実際の DOM 要素をマウスでクリックすることをシミュレートします。 (jQueryオブジェクトではありません)を使用する代わりに .trigger() jQueryのメソッドです。

注:DOMレベル2 .click() では動作しません。 Safari のいくつかの要素 . 回避策を用いる必要があります。

http://api.jquery.com/click/