我刚遇到 this question
在此处触发锚标记上的click
事件无效。
<a class="button2" href="#popup1">hello</a>
<div id="popup1" class="overlay">
<div class="popup">
<div class="contentSpec">
<h2>Would you like to visit</h2>
<h1>someURL</h1>
</div>
<a class="close" href="#"></a>
<div class="content">
<div class="box">
<a class="button" href="#popup1">YES</a>
<a class="button1" href="#popup1">NO</a>
</div>
</div>
</div>
</div>
JS:
$(document).ready(function() {
$(".button2").trigger('click');
});
我的问题是,为什么触发事件在这种情况下不起作用?
答案 0 :(得分:22)
您需要调用本机DOM $this->SetFont('Times', '', 12, '', true); works fine.
方法才能触发默认的单击锚行为,jQuery专门excludes it on anchor:
click()
答案 1 :(得分:4)
使用
select p.id, p.name, r.url, r.upload_time, r.release_number from
(select p.id, max(r.release_number) release_number from packages p
join releases r on p.id = r.package_id
group by p.id) a
join packages p on p.id = a.id
join releases r on r.release_number = a.release_number
$(".button2").get(0).click();
将返回第一个DOM对象而不是jquery对象,并且将触发get(0)
。
答案 2 :(得分:1)
当你没有绑定任何 .click()
事件时,它永远不会触发它。
您需要使用click
而不是.click()
jQuery方法触发DOM .trigger(e)
事件,这应该仅适用于dom节点。您可以通过引入索引[0]
或使用jQuery的方法.get(0)
来实现。
而是试试这个:
$(document).ready(function() {
$(".button2")[0].click();
// or $(".button2").get(0).click();
});
如果是这种情况,则只能使用javascript执行此操作:
window.addEventListener('DOMContentLoaded', function(e){
document.querySelector('.button2').click();
}, false);