我有这个jQuery点击事件
$('#sidebar .nav a span').click(function () {
var sidebar_nav = $(this);
$("#main").load("type_change.php?id="+id, successCallback);
Run Code Online (Sandbox Code Playgroud)
然后我有回调来做绑定
var successCallback = function(responseText, textStatus, XMLHttpRequest) {
//doing all the binding in here
}
Run Code Online (Sandbox Code Playgroud)
有没有办法传递$(this)或者传递sidebar_nav给successCallback函数,所以我可以用它做点什么
你可以使用$.proxy:
$("#main").load("type_change.php?id="+id, $.proxy(successCallback, $(this)));
Run Code Online (Sandbox Code Playgroud)
这将设置this里面successCallback,无论你传递的第二个参数.
如果您this仍想参考$("#main"),那么您可以更改回调以接受另一个参数:
var successCallback = function(responseText, textStatus, XMLHttpRequest, target) {
//doing all the binding in here
}
Run Code Online (Sandbox Code Playgroud)
并称之为:
var sidebar_nav = $(this);
$("#main").load("type_change.php?id="+id, function() {
var args = $.makeArray(arguments);
args.push(sidebar_nav);
successCallback.apply(this, args);
});
Run Code Online (Sandbox Code Playgroud)
target会参考sidebar_nav.
| 归档时间: |
|
| 查看次数: |
235 次 |
| 最近记录: |