<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 前端js中動態添加的元素不能觸發綁定事件解決方法

    2018-5-24    seo達人

    如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

    問題描述:在頁面選擇關鍵詞時,需要將關鍵詞元素綁定點擊事件使同一類型的關鍵詞只有一個固定class,使其隨點擊更換,目的是為了讓這一類型的關鍵詞的值可以由class獲取。在原本寫死的關鍵詞上綁定的事件是可用的,但是換成動態加載后發現只能適用于寫死的情況。很無奈,在網上搜索一番后花了點時間終于解決了,下面奉上。  

    參考文章:https://blog.csdn.net/qq_35129893/article/details/78363211?locationNum=2&fps=1

    原本綁定事件如下:

    [javascript] view plain copy
    1. //查詢條件class的加載和移除(不能綁定動態加載的標簽)  
    2. $('.value_list').children.click(function(){     
    3.     $(this).addClass('a-time').siblings().removeClass('a-time');  

    針對的HTML元素如下:

    [html] view plain copy
    1. <div class="value_list value_list1" style="width: 80%;" id="subject">  
    2.     <span class="mr36" onclick="selectTopic(0)" value="0">全部</span>  
    3.     <a href="javascript:;" onclick="selectTopic("6eac9783353d40bba49e6b253e73f285")" value="dayu" types="subject" class="a-time">dayu</a>  
    4.     <a href="javascript:;" onclick="selectTopic("f9cbaa888cf34a99b6c50bf393e1a859")" value="天下會" types="subject" class="">天下會</a>  
    5.     <a href="javascript:;" onclick="selectTopic("3f4aa8924c88466dafc63d52aa57e7a6")" value="大雨" types="subject">大雨</a>  
    6.     <a href="javascript:;" onclick="selectTopic("87259765e9174a3b9d97f00a461e90bd")" value="士大夫" types="subject" class="">士大夫</a>  
    7. </div>  

    但是發現,原先的事件不能用于動態加載的元素,如上面加載的,加載形式如下:

    [javascript] view plain copy
    1. //獲取關鍵詞列表  
    2. function getlist(){  
    3.     $("#subject").html("");  
    4.     $.ajax({  
    5.         type: "POST",  
    6.         url:path+"/key/queryKeys.php",  
    7.         dataType : "json",  
    8.         success: function(result) {  
    9.             var data = result.data;  
    10.             console.log(data+" 888");  
    11.             if(data!=''){  
    12.                 var html='<span class="a-time mr36" onclick="selectTopic(0)" value="0">全部</span>';  
    13.                 for(var i=0;i<data.length;i++){//如果不加"則只能傳遞數字變量而不能傳遞帶有字母的變量,加上"則無影響  
    14.                 //  html+='<li class="fl"><i class="iconfont close" onclick="del("'+data[i].kw_id+'")"></i>'+data[i].kw_word+'</li>';  
    15.                     html+='<a href="javascript:;" onclick="selectTopic("'+data[i].kw_id+'")" value="'+data[i].kw_word+'" types="subject">'+data[i].kw_word+'</a>'  
    16.                 }                             
    17.                 $("#subject").html(html);  
    18.             }else{  
    19.                 alert("請先登陸!");   
    20.             }  
    21.         }  
    22.          });   
    23. }  

    無奈,只能上網尋求萬能的大神了。

    基本上提供的解決方案就兩個,使用

    $('element').live('click',function(){})

    或者

    $('父元素').on('click', '子元素', function(){})

    我先是使用.live嘗試了下,發現gg,心灰意冷ing;本著試一試不要錢的心態又用.on試了下,結果令人驚喜啊!可以使用了,哎,這鬼玩意坑死人。

    下面上針對我加載的界面元素寫的綁定事件:

    [javascript] view plain copy
    1. //查詢條件class的加載和移除(適用于動態加載標簽的情況--on事件需要jquery在1.6以上)  
    2. $('.value_list').on('click','a,span',function(){  
    3.     $(this).addClass('a-time').siblings().removeClass('a-time');  
    4. ;  

    藍藍設計www.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 久久精品不卡| 无码欧精品亚洲日韩一区| 亚洲乱码日产精品a级毛片久久| 国产精品成人观看视频国产奇米| 国产在线精品观看免费观看| 97国产精品视频| 无码国内精品人妻少妇| 国内精品久久久久国产盗摄 | 国产精品女同久久久久电影院| 久久成人精品| 91久久精品视频| 国产精品久久久久影院色 | 亚洲国产精品成人久久蜜臀| 99热成人精品免费久久| 国产精品网址你懂的| 国产亚洲精品自在久久| 欧美亚洲色综久久精品国产| 在线观看91精品国产网站| 男女男精品网站免费观看| 国产精品色视频ⅹxxx| 中文字幕亚洲综合精品一区| 国产精品久久久久天天影视| 999国内精品永久免费视频| 人人妻人人澡人人爽人人精品97| 亚洲日韩中文在线精品第一| 日韩精品电影一区亚洲| 欧美亚洲成人精品| 欧美日韩精品系列一区二区三区| 欧美精品三区| 欧美成人精品第一区二区三区| 精品国产人成亚洲区| 国产午夜精品一区二区三区不卡| 91精品免费久久久久久久久| 四虎精品8848ys一区二区| 亚洲愉拍自拍欧美精品| 99久免费精品视频在线观看| 国产伦精品一区二区三区视频猫咪 | 国产精品欧美久久久久无广告| 99精品人妻少妇一区二区| 99久久免费只有精品国产| 国产观看精品一区二区三区 |