gpt4 book ai didi

jQuery:在自定义 jQuery 函数的回调函数中使用 $(this)

转载 作者:行者123 更新时间:2023-12-01 04:25:10 26 4
gpt4 key购买 nike

这是自定义的jQuery函数

$.fn.wider = function(callback) {  
$(this).animate({width: 500}, function() {
callback();
});
};

调用函数

$('#div').wider(function() {
console.log('div resizing done');

// $(this) refers to window instead of $('#div')
$(this).css({background: '#f00'});
});

那么我如何像下面的点击函数一样使用 $(this) 呢?

$('#div').click(function() {
console.log('div clicked');

// $(this) refers to $('#div')
$(this).css({background: '#f00'});
});

最佳答案

使用Function.apply .

$.fn.wider = function(callback) {  
$(this).animate({width: 500}, function() {
if (typeof callback === 'function') {
callback.apply(this); // <- here
}
});
};

稍微更通用的实现:

$.fn.wider = function(callback) {
var self = this;
$(this).animate({width: 500}, function() {
if (typeof callback === 'function') {
callback.apply(self);
}
});
};

关于jQuery:在自定义 jQuery 函数的回调函数中使用 $(this),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6933718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com