Ben sadece çözmek için görünmüyor garip bir sorun, abit var! Yazdığım büyük bir çerçevenin bir parçası, ama aynı soruna sahip bazı test kodları yazdım. Aşağıdaki bakınız:Javascript Türü Hata, bir fonksiyon değil
!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);
Şimdi şu kullandığınızda:
test('#popupLink').popup();
alıyorum: "açılan bir işlev değil "TypeError testi (" # popupLink)".
test('#popupLink').selector.hide();
Herhangi bir yardım büyük takdir şu anda bir akıl blok yaşıyorum gibi: Ben böyle bir şey yaparsanız ben standart jQuery fonksiyonları kullanırım gibi kısmen, çalışma biliyorum. Şimdiden teşekkürler! :)
Güncelleme
Ben döndürülen nesne görüntülemek için console.log kullandım ve sadece ben prototip kullanmak vermedi gibi mantıklı içinde seçici elemanı vardır. Bunu nasıl düzeltebilirim?
Test.prototype veya test.fn.prototype için test.fn'yi değiştirin – jasssonpet
"test.fn.prototype = test.fn" ifadesini ekledim, ancak yine de aynı hata veriyor :( – jleck
You –