如何触发Click作为页面使用jquery加载

时间:2013-01-29 04:50:53

标签: javascript jquery click

我已经看过很多关于此的帖子,但没有一个像我一样努力。

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

加载页面后,我想触发点击。我知道在页面加载后打开链接很奇怪,但在这种情况下它是有道理的。

我正在使用jquery 1.7

3 个答案:

答案 0 :(得分:2)

应该是:

$(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/

答案 1 :(得分:1)

jQuery won't click on links。我自己的解释是,这是一个安全风险,或多或少是相关答案归结为。

但是,正如链接的答案所述,您只需选择Javascript HtmlDOMElement.click()即可。

换句话说:$('#link_to_content')[0].click();

答案 2 :(得分:0)

您尝试触发的点击处理程序很可能也通过$(document).ready()附加。可能发生的是您在附加处理程序之前触发事件。解决方案是使用setTimeout:

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

延迟10ms将导致函数在调用所有$(document).ready()处理程序后立即运行。

OR

在.load();

的回调函数中使用trigger

您也可以使用.on()而不是trigger()

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

.on()示例

$('div_to_click').on("click",".title",function(){
alert('sdfdsf');
});