如何将回调方法发送到另一个回调方法
How to send a callback method to another callback method
我正在开发一个自定义的jQuery插件,我给出了以下选项来相应地独立修改插件:
onSuccess: false, // callback
afterSuccess: false, // callback
beforeRequest: 'searching ...',
这就是我在插件中处理这些回调的方式
/* --------------- Click Event on Dynamic Elements ------------------ */
this._afterSuccess( this.parent, this.$el, this.extraElement, this._removeContainer );
正如你在上面的代码中看到的,this._removeContainer
是我想要发送afterSuccess
回调的方法。
_afterSuccess: function( parent, element, extraElement, removeContainer ) {
var that = this;
if( typeof this.options.afterSuccess == "function" ) {
// Trigger callback if found
this.options.afterSuccess.call( this, parent, element, extraElement, removeContainer );
}
else {
parent.on('click', 'li a', function(e) {
e.preventDefault();
var id = $(this).data('key');
var text = $(this).text();
that.$el.val(text);
that._removeContainer();
that.extraElement.val(id);
});
}
},
_removeContainer: function() {
this.response_container.html('');
this.extraElement.val('');
},
这就是我实现插件的方式:
$('#some_element').MyPlugin( {
afterSuccess: function(parent, element, extraElement, removeContainer) {
parent.on('click', 'li a', function(e) {
e.preventDefault();
var id = $(this).data('key');
var text = $(this).text();
element.val(text);
// Not working Generating Error
removeContainer();
extraElement.val(id);
});
}
} );
removeContainer()
生成未定义的"response_container"的错误有没有更好的方法来调用afterSucess
回调方法中的this._removeContainer()
?或者我错过了什么?
尝试将上下文设置为removeContainer
,因为现在removeContainer
中的this
引用全局window
,但在window
中没有response_container
,就像这个一样
this.options.afterSuccess.call( this, parent, element, extraElement, $.proxy( removeContainer, this ) );
更新
this.options.afterSuccess.call( this, parent, element, extraElement, removeContainer.bind(this) );
相关文章:
- Google Data API上的OOP Javascript回调方法
- 与 promise 一起使用时,异步瀑布不执行下一个回调方法
- 传递promise回调方法的更好方法
- meSpeak.js-第二个单词在使用回调方法时不会播放
- 如何将回调方法发送到另一个回调方法
- 如何在 JavaScript 中编写高效的事件回调方法
- 如何在 jquery 中将事件作为回调方法传递
- 有没有办法保证回调方法之外的回调
- 在回调方法中传递动态值
- “(回调方法)未定义”在 Firefox 插件上的 JSONP 访问中
- Javascript在回调方法中编写此上下文
- Javascript回调方法不更新AngularJS,除非是速记形式
- 如何查询回调方法的参数
- Dojo :如何使用回调方法在 jsonRest 存储上发出 PUT 请求
- Angular JS从服务和Http回调方法返回数据
- 描述从回调方法获取正确的作用域
- 如何将参数传递给JQuery$.getJSON回调方法
- 回调方法中未定义RequireJS依赖项
- Node.js和串口;回调方法
- $.post()回调方法建议