av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

javascript - 關于動態加載后再綁定事件,事件不起作用的提問

瀏覽:130日期:2023-02-14 18:42:29

問題描述

我在ajax動態創建了三個p盒子之后,再給盒子綁定點擊事件為什么不起作用?只有在ajax創建的時候 同時給他 綁定事件才有用?這樣就綁定了三遍,這是為什么呢?有沒有更優的辦法?

問題解答

回答1:

比如你可以看看jquery實現

$('#a').click(callback);

$(document).on(’click’,’#a’,function(){ //TODO });

$('#a').live();//過時回答2:

$(document).on(’click’,’#a’,function(){ //TODO }); 借一樓回答的 感覺可以 先找到他父元素再綁定

回答3:

這個我以前碰過,動態加載的DOM用onclick是不起作用的,因為只對存在的dom起作用,用$(document).on(’click’,’#a’,function(){})才行,你可以試試看。

回答4:

你可以用事件委托來實現,就比如說

<p class='wrapper'></p>

你想在wrapper里面添加一個列表(.list),委托你可以這樣寫(簡單寫法):

//獲取目標節點(這里只支持class獲取)//ele: 起始元素,最內側的元素//selector: className,//stopTrget: 委托容器元素function getTargetNode(ele,selector,stopTarget){ var clsReg = new RegExp(selector),className = ele.className; if(ele === stopTarget) return null; if(clsReg.test(className)){return ele; } else {return getTargetNode(ele.parentNode,selector); }};//委托function addEvent(event,ele,selector){ ele['on'+event] = function(e){e = e || event;var target = e.target || e.srcElement;//當滿足觸發條件時if(getTargetNode(target,selector,ele)){ //The deep♂dark♂fantasy} };}addEvent('click',document.querySelecor(’.wrapper’),’.list’);回答5:

用JQ的on方法和delegate方法都可以,原生的話用事件委托

標簽: JavaScript
主站蜘蛛池模板: 国产91综合一区在线观看 | 一区在线视频 | 久草网站 | 97精品一区二区 | 精品亚洲一区二区三区 | 国产精品污www一区二区三区 | 国产乱码精品1区2区3区 | 免费黄色在线 | 午夜丰满少妇一级毛片 | 亚洲精品一二三 | 羞羞网站免费观看 | 一区二区视频在线观看 | 伊人狠狠操| 亚洲精色 | 成人妇女免费播放久久久 | 午夜免费在线电影 | 日韩福利电影 | 欧美精品中文 | av网址在线播放 | 99免费在线观看视频 | 亚洲成人三级 | www.一区二区三区 | 97视频精品 | 在线欧美视频 | 欧美在线国产精品 | 91久操网| 中文字幕一区二区三区四区不卡 | 日韩中文字幕在线观看视频 | 久久亚洲二区 | 精品国产乱码久久久久久丨区2区 | 91在线免费视频 | 久久不卡 | 久久精品黄色 | 一级二级三级在线观看 | 国产成人精品一区二 | 日韩在线一区二区三区 | 亚洲一区二区三区在线观看免费 | 亚洲一区二区三区在线播放 | 日韩欧美一区二区三区免费看 | 成人免费视频网站在线看 | 成人在线观看免费视频 |