如何触发点击页面加载?

Jus*_*ine 47 javascript jquery

我正在寻找一种在页面加载时自动"点击"项目的方法.

我试过用了

$("document").ready(function() {
    $("ul.galleria li:first-child img").trigger('click');
});
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用?但是,当我进入$("ul.galleria li:first-child img").trigger('click');Firebug的控制台并运行脚本时,它可以工作.

触发事件可以在加载时使用吗?

noa*_*oah 106

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

$("document").ready(function() {
    setTimeout(function() {
        $("ul.galleria li:first-child img").trigger('click');
    },10);
});
Run Code Online (Sandbox Code Playgroud)

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


Ste*_*ven 7

$(function(){

    $(selector).click();

});
Run Code Online (Sandbox Code Playgroud)

  • API 参考:http://docs.jquery.com/Events/click。请注意,`$(callback)` 等价于 `$("document").ready(callback);` (2认同)

Mar*_*iss 5

$("document").ready({
    $("ul.galleria li:first-child img").click(function(){alert('i work click triggered'});
}); 

$("document").ready(function() { 
    $("ul.galleria li:first-child img").trigger('click'); 
}); 
Run Code Online (Sandbox Code Playgroud)

只要确保在调用堆栈序列中的触发事件之前添加了单击处理程序即可。

  $("document").ready(function() { 
        $("ul.galleria li:first-child img").trigger('click'); 
    }); 

   $("document").ready({
        $("ul.galleria li:first-child img").click(function(){alert('i fail click triggered'});
    }); 
Run Code Online (Sandbox Code Playgroud)