2

重複の可能性:
bind または click でイベント ハンドラーをバインドしていない場合、jquery click() を呼び出して <a> リンクをたどることはできますか?

次のコードを書きました。

<div style="background-color:orange">Click me to open the link
    <br>
    <a target="_blank" href="http://example.com">Link</a>
</div>

<script>
    jQuery('div').click(function(){
        jQuery('a').click();
    });

    jQuery('a').click(function(e){
       alert('It came here!');           
       e.stopPropagation();
       return true;   
    });
</script>

しかし、リンクが開かない。

更新: A タグにターゲット属性を追加しました。

4

3 に答える 3

3
<div style="background-color:orange">Click me to open the link
    <br>
    <a id="b" href="http://example.com">Link</a>
</div>

jQuery('div').click(function(){
    document.getElementById('b').click();
});

フィドル: http://jsfiddle.net/zZqQs/4/

また:

jQuery('a')[0].click();

jquery クリックと raw JS クリックは互いに異なるようです。

于 2012-10-18T07:37:24.910 に答える
1

まず、ページ上のすべての <a>タグに一致するセレクターを使用しています。<a>おそらく、1つの特定の要素をターゲットにできるようにid属性を指定したいと思うでしょう...

<a href="foobar.html" id="foo">foo</a>

この関数を使用triggerして、要素のクリックをシミュレートすることもできます-

$('#foo').trigger('click');

最後に言及すべきことは、リンクを開くために実際にメソッドを呼び出さなかったことです。このコードを使ってみることができます-

jQuery('a').click(function(e){
   alert('It came here!');
   window.open($(this).attr('href'));    
   return false;   
});

参照 -

説明:指定されたイベントタイプの一致した要素に関連付けられているすべてのハンドラーと動作を実行します。

于 2012-10-18T06:57:18.337 に答える
1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>    
<div style="background-color:orange">Click me to open the link
    <br>
    <a href="http://example.com" target="_blank">Link</a>
</div>

<script>
    $('div').click(function () {
        $('a').click();
    });

    $('a').click(function (e) {

        alert('It came here!');
        e.stopPropagation();
        window.location = $("a").attr("href");
        return true;
    });
</script>
于 2012-10-18T07:05:35.500 に答える