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);

留作记录。


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