我看过很多关于这个的帖子,但没有一个像我想的那样奏效。
$(document).ready(function() {
$('#link_to_content').tigger('click');
});
加载页面后,我想触发点击。我知道一旦页面加载就打开链接很奇怪,但在这种情况下它是有道理的。
我正在使用 jquery 1.7
我看过很多关于这个的帖子,但没有一个像我想的那样奏效。
$(document).ready(function() {
$('#link_to_content').tigger('click');
});
加载页面后,我想触发点击。我知道一旦页面加载就打开链接很奇怪,但在这种情况下它是有道理的。
我正在使用 jquery 1.7
应该:
$(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/
jQuery不会点击链接。我自己的解释是,这有点安全风险,这或多或少是链接答案归结为的原因。
但是,正如链接的答案所述,您可以简单地选择 JavascriptHtmlDOMElement
和.click()
它。
换句话说:$('#link_to_content')[0].click();
您尝试触发的点击处理程序很可能也通过 $(document).ready() 附加。可能发生的情况是您在附加处理程序之前触发了事件。解决方案是使用 setTimeout:
$("document").ready(function() {
setTimeout(function() {
$("#link_to_content").trigger('click');
},10);
});
10ms 的延迟将导致函数在所有 $(document).ready() 处理程序被调用后立即运行。
或者
在 .load() 的回调函数中使用触发器;
您也可以使用 .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');
});