gpt4 book ai didi

javascript - jquery this 和 $(this)

转载 作者:行者123 更新时间:2023-12-02 17:30:01 24 4
gpt4 key购买 nike

这似乎是一个老问题,有很多页面解释了两者之间的区别,但我仍然不完全理解它,因为两者似乎都适合我。我想我明白为什么我不能在嵌套函数中使用 this$(this) 。但为什么这两种带有变量的替代方案都有效呢?我应该使用哪一个才是正确的?

(function($) {
$.fn.helloWorld = function() {
var $wrap1 = this;
var $wrap2 = $(this);

var keys = function(){
$(document).keyup(function (event) {
if (event.keyCode === 39) {
console.log("key pressed");
event.preventDefault();
this.fadeOut(); //Does not work
$(this).fadeOut(); //Does not work
$wrap1.fadeOut(); //Does work
$wrap2.fadeOut(); //Does work
}
});
};
keys();
}
}(jQuery));

最佳答案

对于 jQuery fn 扩展,this 已经引用了 jQuery 对象,因此 $(this) 本质上是一个 no -操作。

但是在大​​多数情况下,比如事件处理程序,this指的是触发事件的元素,需要使用$(this)来调用jQuery函数就在上面。

关于javascript - jquery this 和 $(this),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23152984/

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