gpt4 book ai didi

jquery - 菜鸟 jquery 类 Q : internal function calls

转载 作者:行者123 更新时间:2023-12-01 03:19:30 25 4
gpt4 key购买 nike

我在 this.hide(); 行上有一个断点它在 firebug 中被正确找到,但从未传递到 hide : function()。我认为我犯了一个非常尴尬的菜鸟语法错误。有人可以告诉我调用此内部电话的正确方法吗?

谢谢!

var myDialog = myControl.extend( { 
//init

show : function() {
if (this.isModal) {
this.overlay.unbind("click");
} else {
this.overlay.click(function(e) {
this.hide();
});
}
},

hide : function() {
this.overlay.hide();
this.dialog.fadeOut(300);
}
});

最佳答案

您很可能没有在 this.overlay.click() 处理程序中的预期上下文中进行操作。在 this.hide() 上放置一个断点并检查“this”对象。我敢打赌这不是您所期望的!

您需要在调用之前缓存“this”,例如:

show : function() {
var context = this;
if (this.isModal) {
this.overlay.unbind("click");
} else {
this.overlay.click(function(e) {
context.hide();
});
},

Javascript 上下文/范围是一个棘手的情况。

关于jquery - 菜鸟 jquery 类 Q : internal function calls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11478318/

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