问题
drupal里面ajax请求之后重新加载新的dom元素,以前的jQuery代码就不能用了,我最后改为delegate,on方法进行绑定,怎么还是不行。有没有办法解决这个问题啊
回答
像这样使用
(function($) { Drupal.behaviors.myModule = { ‘attach’: function(context) { $(‘a.photo_button:not(.mymodule-processed)’, context) .addClass(‘mymodule-processed’) .bind(‘click’, function() { $.get(‘/photos/get/photos/’ parseInt(this.id, 10), null, imageDetails); return false; }); } } var imageDetails = function(response) { var result = Drupal.parseJson(response); $(‘div.field-type-image div.field-item’).html(result.data); }})(jQuery);
简单的案例:
(function($) { Drupal.behaviors.phoneLoginButton = { attach : function(context, settings) { $(‘.sms-sended’,context).each(function(){ //TODO } },1000); }); } };})(jQuery);
关于本文
上期内容:【第179期】基于drupal7 的开发项目代码重构的实践