[英]Jquery click in on click handler
我在jquery click事件中有一些奇怪的行为。 这是我的代码:
$("#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吗?
您不能使用click()
作为简单方法,它必须是一个函数,因此您应该trigger()
click事件:
$("#item").on("click",function(){
//do some stuff
$("#item2").trigger("click");
});
$(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>
请看这个小提琴 。 我已经添加了
$("#item2").trigger('click');
在您的代码中。
这是您的解决方案:
$("#item2").trigger('click');
//使用jQuery的触发函数
您阅读过JQuery的文档吗? 在https://api.jquery.com/click/中解释了onClick,您可以找到为什么event.preventDefault
在JQuery触发器之前不起作用的原因
解决方案:
$("#item2").trigger('click'); // Use trigger function of jQuery to Trigger
请阅读文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.