本文主要是介绍javascript 点击事件执行两次js问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
因为利用js在页面加载后添加需要点击事件的代码,发现在点击后会代码会执行两次,因为有toggle效果,导致弹窗出现又很快丢失
查了一些资料,发现这是冒泡的原因,需要在点击事件代码中加入阻止冒泡的方法:
e.stopPropagation();
但是发现还是不行
后面查到,off函数可以解除由on函数所绑定的事件,所以在js代码中on函数前调用下Off函数,就正常了:
$("li.taskli").off('click','a').on('click','a',function(e){ //在on绑定前调用off去除绑定//$(document).on('click','li.taskli a',function(e) { //原先的写法console.log("here")if ($(this).parent().find('div.popover').size()>0){$(this).popover('destroy')}else{ var uuid = $(this).attr('targetuuid');var taskhtml = '<div id="taskview">' + popheadDivHtml()+'</div>';$(this).popover({placement:'bottom',title:uuid,html:'true',content:taskhtml}).popover('toggle');getResultFromFile(uuid)}e.stopPropagation(); //阻止冒泡})
这篇关于javascript 点击事件执行两次js问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!