gpt4 book ai didi

javascript - 直接绑定(bind)函数与使用 jQuery 的包装器。为什么不起作用?

转载 作者:行者123 更新时间:2023-11-28 19:39:05 25 4
gpt4 key购买 nike

我的代码:

var cardFrame = {
element: "VALUE",
flip: function(){
console.log("flip: "+this.element);
},
};

当按钮与此行绑定(bind)时,单击它会按预期打印 flip: VALUE

$("#flashcard").bind( "click", function(){cardFrame.flip();} ); 

如果与下面的行绑定(bind)。按钮打印flip: undefined

$("#flashcard").bind( "click", cardFrame.flip );

这两个语句在功能上应该是相同的。这是为什么?

最佳答案

这不相等,“this”在两种情况下是不同的。

首先,“flip”作为“cardFrame”的方法被调用,因此函数中的“this”就是“cardFrame”对象。

在第二个中,jQuery 传递的“this”是您附加点击事件的元素。

您可以阅读reference about this

关于javascript - 直接绑定(bind)函数与使用 jQuery 的包装器。为什么不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25421715/

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