5

私はこれについてたくさんの投稿を見てきましたが、私がしようとしていたように機能したものはありません.

$(document).ready(function() {
   $('#link_to_content').tigger('click');
});

ページが読み込まれたら、クリックをトリガーしたいと思います。ページが読み込まれるとリンクを開くのがおかしいことはわかっていますが、この場合は理にかなっています。

私はjquery 1.7を使用しています

4

3 に答える 3

3

次のようにする必要があります。

$(document).ready(function() {
   $('#link_to_content').trigger('click');
});

ここでの実例: http://jsfiddle.net/zpnQv/

編集:

リンクをたどりたい場合は、次のようにすることができます。

HTML:
<a href="http://www.yahoo.com/" id="link_to_content">Click Me</a>


JS:
$(document).ready(function () {

    $("#link_to_content").click(function (e) {
        e.preventDefault();

        var href = $(this).attr("href");

        alert("going to " + href);
        window.location = href;
    });
    $('#link_to_content').trigger('click');
});

例: http://jsbin.com/omudih/1/

于 2013-01-29T04:55:50.440 に答える
1

jQueryはリンクをクリックしません。私自身の解釈では、これは少しセキュリティ上のリスクであり、リンクされた回答が要約すると多かれ少なかれです。

HtmlDOMElementただし、リンクされた回答が示すように、Javascriptとそれを選択するだけです.click()

言い換えると:$('#link_to_content')[0].click();

于 2013-01-29T04:56:47.287 に答える
0

トリガーしようとしているクリック ハンドラーは、おそらく $(document).ready() 経由でもアタッチされています。おそらく発生しているのは、ハンドラーがアタッチされる前にイベントをトリガーしていることです。解決策は、setTimeout を使用することです。

$("document").ready(function() {
setTimeout(function() {
    $("#link_to_content").trigger('click');
},10);
});

10 ミリ秒の遅延により、すべての $(document).ready() ハンドラーが呼び出された直後に関数が実行されます。

また

.load(); のコールバック関数でトリガーを使用します。

trigger() の代わりに .on() を使用することもできます

$('div_to_load').load("#link_to_content",function(){
$("#link_to_content").trigger('click');
});

.on() の例

$('div_to_click').on("click",".title",function(){
alert('sdfdsf');
});
于 2014-11-29T14:57:53.533 に答える