久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - jq click事件重復執行的問題

瀏覽:139日期:2023-04-09 10:19:59

問題描述

求助,jq動態生成的元素需要用on來綁定點擊事件才生效,而執行on的函數里面也有點擊事件,然后函數就被執行了兩次,這樣的情況該怎么解決?

問題解答

回答1:

用event對象找到你真正想點擊的目標

回答2:

其實,無非就是事件綁定了2次或者事件冒泡引起的;1,解除事件,再綁定

$(ele).unbind(’click’).click(function() {// to do })

2,取消冒泡

$(ele).click(function(e){ e.stopPropagation();});回答3:

先去除監聽,后監聽.off(handler).on(handler)

回答4:

這是冒泡? e.stopPropagation()

回答5:

off 先解綁 在綁定

回答6:

$(’document’).unbind(’click’).click(function() { //dosomething })回答7:

function removeMaopao(ev){var eEvent = ev || event;eEvent.stopPropagation() && eEvent.stopPropagation;return false; }回答8:

樓上的說的比較清楚了。1.找到問題 1.1 是綁定了兩次,因為動態生成的元素綁定了一個事件,但是在這個事件中又去調用了之前綁定的事件

$(’document’).unbind(’click’).click(function() { //取消綁定的回調事件})

1.2 還是 事件的冒泡導致(如果不熟悉冒泡,請先看下相關資料)

$(’document’).click(function(e){ //取消事件冒泡 e.stopPropagation();});

2.動態生成的元素其實可以不一定需要使用動態的綁定事件

使用 delegate() 方法的事件處理程序適用于當前或未來的元素(比如由腳本創建的新元素)。點擊這里查看詳細文檔:http://www.w3school.com.cn/jq...

$('p').delegate('button','click',function(){ $('p').slideToggle();});回答9:

記得on()之后off()掉

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 镇原县| 集贤县| 喀喇| 江北区| 宁安市| 红河县| 汽车| 肇州县| 洞头县| 土默特左旗| 迭部县| 温泉县| 元谋县| 浮梁县| 霍城县| 临朐县| 龙胜| 公安县| 博乐市| 滁州市| 铜梁县| 金华市| 河池市| 庆阳市| 慈溪市| 卫辉市| 石屏县| 尼玛县| 九江市| 宁海县| 抚州市| 崇仁县| 五大连池市| 莱芜市| 茶陵县| 宜章县| 连云港市| 公主岭市| 曲麻莱县| 雷山县| 招远市|