如何将 "this" 对象放入回调函数?

How to get "this" object in to a callback function?

如何将其放入回调中?

从这个开始,成功了。

$('#grid').w2grid({
  name : 'grid',
// Lost of setup
  onMenuClick: function(event) {
    $.getJSON('?json=json&action=E&id=' + event['recid'], function(data) {
//    do some work
    });
    this.reload();
  },
});

然后仅在请求有效时才调用重新加载。

$('#grid').w2grid({
  name : 'grid',
// Lost of setup
  onMenuClick: function(event) {
    $.getJSON('?json=json&action=E&id=' + event['recid'], function(data) {
//    do some work
      this.reload();
    });
  },
});

当然"this"不再引用我要访问的对象了。

或者我如何获得父对象的访问权限?

您可以在回调中 bind 您的 this

注意:注意任何副作用。显然你似乎不需要回调中的新 this

尝试:

$('#grid').w2grid({
  name: 'grid',
  onMenuClick: function(event) {
    $.getJSON('?json=json&action=E&id=' + event['recid'], (function(data) {
      this.reload();
    }).bind(this));
  }
});

当箭头函数是 available 时,我建议使用它们而不是绑定它。

你可以这样做:

let parent = this;
$.getJSON('?json=json&action=E&id=' + event['recid'], function(data) {
//    do some work
      parent.reload();
    });