0

我正在尝试通过 jQuery 更新一些 Drupal 7 内容,load()并且相关的 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()调用中得到它吗?

4

1 回答 1

1

你可以尝试类似的东西

function(types, data, fn) {
    (this.context
      ? $(this.context)
      : this ).on(types, this.selector || null, data, fn);
    return this;
}

因为每个 jQuery 对象都将当前选择器和上下文元素作为属性。

但是,您不应该通过覆盖功能来应用该解决方法,它只会将错误引入您的应用程序。最好更改调用绑定但不应该调用的代码。.binddelegate

于 2012-07-11T23:00:58.683 回答