我对jquery点击事件有一些奇怪的行为。这是我的代码:
$("#item").on("click",function(){
//do some stuff
$("#item2").click(); // doesn't work!
});
但点击#item时第二次点击无效。手动单击item2时,它确实有效。我这样做是为了工作:
$("#item").on("click",function(){
//do some stuff
document.getElementById("item2").click(); //WORKS!
});
我还在jquery点击触发器之前尝试了event.preventDefault()
,但这也不起作用。
有人可以解释为什么这对jquery不起作用吗?
答案 0 :(得分:0)
你不能使用click()
作为一个简单的方法,它必须是一个函数,所以你应该trigger()
点击事件:
$("#item").on("click",function(){
//do some stuff
$("#item2").trigger("click");
});
答案 1 :(得分:0)
$(function(){
$("#item").on("click",function(){
//do some stuff
$("#item2").trigger('click'); // Now Works !!!
});
$("#item2").on("click",function(){
//do some stuff
alert('working')
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="item">item1</button><button id="item2">item1</button>
&#13;
请参阅此fiddle。 我添加了
$("#item2").trigger('click');
代码。
答案 2 :(得分:0)
以下是您的解决方案:
$("#item2").trigger('click');
//使用jQuery的触发器功能
答案 3 :(得分:0)
您是否阅读过JQuery的文档?在https://api.jquery.com/click/中解释了onClick,你可以找到为什么event.preventDefault
在JQuery触发器之前不起作用
解决方案:
$("#item2").trigger('click'); // Use trigger function of jQuery to Trigger
请阅读文档