这有效:
$(function() {
document.getElementById('click').click();
});
这不是:
$(function() {
$('#click').click();
});
为什么?
编辑:(为了完整起见;已达成答案):
$(function() {
$('#click').trigger('click')
});
也失败了
解决方法:
Why?
因为jquery click方法接受将在单击时调用的处理程序.
你需要
$('#click')[0].click();
或触发它
$('#click').trigger('click')
$('#click').click();
最后两个仅在分配了事件处理程序时才有效.也就是说,它不会触发简单的锚点击,但会调用onclick事件.
DEMO
function f1()
{
document.getElementById("link1").click();
document.getElementById("link2").click();
}
function f2()
{
$("#link1").click();
$("#link2").click();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="javascript:alert(1)" id="link1">Link 1 </a>
<a onclick="alert(2)" id="link2">Link 2 </a>
<button onclick="f1();">DOM click</button>
<button onclick="f2();">Jquery Click</button>