Drupal ajax html和bootstrap dropdown button的事件機制

最近遇到一個特稀奇的一件事情,通過ajax-path獲取出來的列表數據,後面自定義的鏈接跳轉按鈕無法正常跳轉。

總結一下,網頁加載與jquery的元素綁定機制是這樣的,頁面(document)加載完成後,頁面附帶的所有jquery js文件會對頁面內容進行篩選綁定各個功能,ajax獲取出來的新頁面需要重新綁定js事件才能進行響應,否則就會出現前面的錯誤,鏈接地址無法正常跳轉。

下面是修改的代碼。

      var centent = $('.ajax-content');
      var url = centent.attr('ajax-path');

      function getContent(exectime){
        var parm = {};
        parm['mode'] = mode;
        $.ajax({
          type: "GET",
          url: url,
          data: parm,
          dataType: "html",
          success: function(data) {
            centent.html(data);
            $('li.delete a').once().click(function(){
              return confirm('確定要執行刪除操作!');
            });
          },
          complete: function() {
            Drupal.behaviors.bootstrapDropdown.attach(context); // 注意這裏:頁面加載完成後,需要對這部分html進行事件綁定
          }
        });
      }


      getContent(timestamp);

留作記錄。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章