jquery 回调
jQuery 回调函数的使用方法
jQuery 回调函数广泛用于异步操作、动画效果、事件处理等场景。以下是几种常见的回调用法:
事件处理回调 在事件绑定中使用回调函数,例如点击事件:
$("#button").click(function() {
alert("按钮被点击");
});
动画效果回调 动画完成后执行回调:
$("#box").fadeOut(300, function() {
$(this).remove();
});
AJAX 回调 处理异步请求的响应:
$.ajax({
url: "test.html",
success: function(data) {
$("#result").html(data);
},
error: function() {
alert("请求失败");
}
});
回调函数的参数传递
jQuery 回调通常会自动传递上下文和参数:

事件对象参数
$("a").click(function(event) {
event.preventDefault();
console.log(event.target);
});
自定义参数 通过闭包传递额外参数:
$(".item").each(function(index) {
$(this).click(function() {
console.log("点击了第" + index + "个元素");
});
});
回调函数的上下文控制
使用 this 关键字
在回调中 this 通常指向当前DOM元素:

$("li").hover(function() {
$(this).css("color", "red");
});
指定执行上下文
通过 $.proxy 或箭头函数绑定:
var obj = {
name: "对象",
show: function() {
console.log(this.name);
}
};
$("#btn").click($.proxy(obj.show, obj));
回调队列管理
延迟对象处理
使用 $.Deferred 管理多个回调:
var defer = $.Deferred();
defer.done(function(msg) {
console.log(msg);
});
defer.resolve("操作完成");
回调队列
通过 $.Callbacks 创建回调列表:
var callbacks = $.Callbacks();
callbacks.add(function() {
console.log("第一个回调");
});
callbacks.fire();






