layui表格點擊排序按鈕后,表格綁定事件失效解決方法


最近項目使用layui較為頻繁,遇到了一個麻煩的問題,網上搜索也沒有看到同類型的問題,故此記下來。

需求是點擊上圖右側表格中某一個單元格,會觸發點擊事件如下代碼:

$("table>tbody>tr>td").click(function(){
  chickstr=$(this).attr("data-field");
  if(typeof(chickstr)=='string'){
  if(chickstr.indexOf("indiCode") != -1 ){
    chickstr=chickstr.charAt(chickstr.length-1);
  }
 }
});

當頁面刷新后,不點擊左側指標排名處的排序按鈕時,上面的觸發事件有效,正常執行;但是當點擊排序按鈕后,上面的觸發事件無效了

原因在於layui點擊排序后,表格重新組合,原有綁定事件失效。

解決方法:在觸發排序按鈕的方法最后面,為表格重新綁定點擊事件。

table.on('sort(demoEvent)', function(obj){ 
  ...
   table.reload(tableid, {
       ...
   });
   //此處需重新為單元格綁定點擊事件,因為layui點擊排序后,表格重新組合,原有綁定事件失效
   $("table>tbody>tr>td").click(function(){
  chickstr=$(this).attr("data-field");
  if(typeof(chickstr)=='string'){
  if(chickstr.indexOf("indiCode") != -1 ){
    chickstr=chickstr.charAt(chickstr.length-1);
  }
   }
   });  
});

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM