on事件绑定阻止冒泡的问题
Posted me春天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了on事件绑定阻止冒泡的问题相关的知识,希望对你有一定的参考价值。
当使用on进行事件绑定时当要给document绑定click,而子元素要禁止冒泡,那么子元素里面的子元素的click事件就会无效了,
下面无效版:
$(\'#queue\').on(\'click\', \'.link\', function() { var t = $(this) ,box = t.next() if(t.hasClass(\'active\')) { box.hide() t.removeClass(\'active\') } else { box.show() t.addClass(\'active\') } event.stopPropagation() }) //排队列表收缩 $(document).on(\'click\',\'body\',function(){ $(\'.link\').removeClass(\'active\') $(\'.queue-box\').hide(); }) $(\'#queue\').on(\'click\',\'.queue-box\',function(){//绑 $(\'#queue\')或 $(document)都一样 event.stopPropagation() //主要是下面 $(document).on(\'click\',\'.btn-queue-join\',function(){ mywebsocket.send(JSON.stringify({ "action": "patientJoinQueue", "patientCode": patientCode, "orderCode": $(this).parents(\'.item\').attr(\'data-id\') })) });
//修改$(document)为$(\'.queue-box\')就可以了 $(\'.queue-box\').on(\'click\',\'.btn-queue-join\',function(){ mywebsocket.send(JSON.stringify({ "action": "patientJoinQueue", "patientCode": patientCode, "orderCode": $(this).parents(\'.item\').attr(\'data-id\') })) });
参考http://www.cnblogs.com/tengj/p/4794947.html对其进行了理解
暂时没空后面补理解
以上是关于on事件绑定阻止冒泡的问题的主要内容,如果未能解决你的问题,请参考以下文章