我正在尝试通过jQuery的load()
更新一些Drupal 7内容,并且它没有被相关的JS代码处理。有问题的代码使用bind()
,并分布在数十个Drupal核心JS文件中。
我想通过使用jQuery 1.7.1和更改
来解决这个问题bind: function( types, data, fn ) {
return this.on( types, null, data, fn );
},
表现为
delegate: function( selector, types, data, fn ) {
return this.on( types, selector, data, fn );
},
您可以看到唯一缺少的是selector
。我能以某种方式从标准的bind()
电话中获取它吗?
答案 0 :(得分:1)
您可以尝试类似
的内容function(types, data, fn) {
(this.context
? $(this.context)
: this ).on(types, this.selector || null, data, fn);
return this;
}
因为每个jQuery对象都将当前的选择器和上下文元素保存为属性。
但是,您不应该通过使用.bind
功能覆盖delegate
来应用解决方法,它只会在您的应用程序中引入错误。更好地更改调用bind但不应该调用的代码。