我有一个奇怪的问题,我似乎无法解决!它是我正在编写的一个大框架的一部分,但我编写了一些具有相同问题的测试代码。请参阅以下内容:
!function ($, window, undefined) {
// BASE FUNCTION
var test = function (selector, context) {
return new test.fn.init(selector, context);
};
// SELECTOR FUNCTIONS
test.fn = {
selector: undefined,
init: function (selector, context) {
// Use jQuery to build selector object
this.selector = $(selector, context);
return this;
},
// Create a popup dialog
popup: function (options) {
this.selector.dialog();
}
},
// Expose Carbon to the global object
window.test = test;
}(window.jQuery, window);
现在,当我使用以下内容时:
test('#popupLink').popup();
我得到“TypeError: test("#popupLink").popup 不是函数”。我知道它部分工作,因为如果我执行以下操作,我可以使用标准 jQuery 函数:
test('#popupLink').selector.hide();
任何帮助将不胜感激,因为我现在有精神障碍。提前致谢!:)
更新
我使用 console.log 查看返回的对象,它只有选择器元素,这很有意义,因为我没有使用原型。我该如何解决?