我正在编写一个 jQuery 插件,理想情况下我想在它自己的命名空间中。
到目前为止,这似乎有效(就命名空间嵌套而言)
(function($) {
$.fn.nspace = {
foo: function() {
// Does not work becuase $(this) is not the correct selector.
$(this).show();
}
}
})(jQuery);
所以给定上面的例子,我可能会这样调用我的函数:
$("html, body").nspace.foo();
但$(this)
不是[html, body]
......我该如何解决这个问题?
编辑:澄清(基于用户评论)......
$("html, body").nspace.foo();
应该调用 foo[html, body]
但是,$(this)
在 nspace 内部解析为 nspace ......所以它试图调用nspace.foo();