我遇到一个奇怪的问题。我有一个jQuery函数,如下所示。当您使用手机滚动页面时,该按钮会点击触发。
用户通过手机访问网站需要滚动整个网页,但是当用户不小心滚动按钮时,按钮会非常敏感,从而触发按钮事件。
jQuery代码:
$('body').on( 'click','.addbasket', function(e){
e.preventDefault();
alert("CLICKED");
});
示例网址:
答案 0 :(得分:0)
您已将click事件附加到BODY,因此整个页面都是触发器。也许将其更改为button元素将解决此问题:-) $('#MyElementId').on('click',function(){//hello});
答案 1 :(得分:0)
如符文回答中所述,如果您不希望每次滚动都发生单击,则可以将click事件赋予特定的ID。 如果您使用的是类,则可以使用从旧线程中获取的类似内容
$(".yourButtonClass").on('click', function(event){
event.stopPropagation();
event.stopImmediatePropagation();
//(... rest of your JS code)
});
jQuery $(".class").click(); - multiple elements, click event once