模块模式javascript实例内部的变量范围和闭包

我正在编写一个jQuery插件,并且以一种非jquery-community-standard的方式编写它,主要是
保持可移植性和可扩展性.

从原型访问时,访问函数中声明的变量时遇到麻烦.

也许我的模型非常错误,但是我希望有人可以指出实现我的目标的正确方法,那就是创建同一类的多个实例.

当我尝试关闭窗口时出现我的问题,出现“ this.auga is undefined”错误.当我创建关闭按钮时(在build window方法内部),我附加了click事件.click(this.hide)-这是函数原型中的另一种方法.我的.resize事件也不起作用,因为方法.centerauga使用了我的this.win属性.获取this.win是未定义的错误.

为什么.show方法具有定义的this.auga,而.hide方法仍未定义?我知道我正在从实例本身访问.show方法-但是为什么其他方法也不能访问该实例?

这不是“请做这项工作”.我正在编写此插件以更加熟悉JavaScript.所以,如果有人有任何见识,请-我都很高兴.

这是示例的链接
http://jsfiddle.net/G26aM/16/

解决方法:

在jQuery回调中,即使回调函数位于对象中,“ this”变量也将指向创建事件的元素.

要在对象开始时解决此问题,请执行以下操作:

var self = this;

然后,每当要引用对象时,请使用“ self”而不是“ this”.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...