如何触发点击页面加载?
我正在寻找一种方法来在页面加载时自动“单击”一个项目。如何触发点击页面加载?
我使用
$("document").ready(function() {
$("ul.galleria li:first-child img").trigger('click');
});
尝试,但它似乎没有工作?但是,当我在Firebug的控制台中输入$("ul.galleria li:first-child img").trigger('click');
并运行脚本时,它可以正常工作。
触发事件可以在加载时使用吗?
您试图触发的点击处理程序最有可能还通过$(document).ready()
附加。可能发生的事情是,您在处理程序连接之前触发事件。该解决方案是使用setTimeout
:
$("document").ready(function() {
setTimeout(function() {
$("ul.galleria li:first-child img").trigger('click');
},10);
});
10ms的延迟将导致所有$(document).ready()
处理程序被调用后函数立即运行。
这就是我正在寻找的。谢谢! – Justine 2010-01-13 21:14:42
超级巨星感谢 – 2014-03-12 16:39:46
一个非jQuery的解决方案将是伟大的 – 2014-08-07 11:34:26
$(function(){
$(selector).click();
});
API参考:http://docs.jquery.com/Events/click。 请注意'$(callback)'相当于'$(“document”)。ready(回调);' – 2010-01-13 20:35:09
效果相同 - 在Firebug中有效,但是当输入到我的脚本文件时,它不会。 Firebug也不会给出任何错误。 $(function(){..})中的文件中有其他脚本吗?以及? – Justine 2010-01-13 20:36:00
$("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');
});
只要确保单击处理程序在调用栈序列的触发器事件之前加入。
$("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'});
});
你是最合适的答案。谢谢。 – Foreever 2015-07-02 16:38:03
试试这个,
$("document").ready(function(){
$("your id here").trigger("click");
});
你可以做到以下几点: -
$(document).ready(function(){
$("#id").trigger("click");
});
它应该工作,除非该元素是后来添加的。你可以发布演示吗? (试试http://jsbin.com) – SLaks 2010-01-13 20:34:51
你可以发布你想要做的这个场景吗?听起来有点突兀javascript – Perpetualcoder 2010-01-13 20:38:36
你的'click'处理程序在哪里添加? – SLaks 2010-01-13 20:40:34