[問題] jquery object 新增public function

作者: bbcust (bbcust)   2014-01-14 14:59:06
要在現成已有的jquery plugin上增加新的function
我看jquery plugin上的教學
$.fn.hilight.format = function( txt ) {
...
};
可是我照做了之後,實際呼叫時會出現
TypeError: Object [object Object] has no method 'format'
所以目前只好寫成
$.fn.format = function( txt ) {
...
};
可是這樣就變成全部的jquery object都有這function
我要如何替一個jquery object來新增它專屬的function ?
作者: mrbigmouth (大嘴先生)   2014-01-14 15:28:00
寫plugin就是要讓全部jquery object都有該功能啊=_=你只想要讓特定jquery object有該功能 直接寫就好了var $test = $('test');$test.format = function(){..}看不懂你到底想做啥 你第一種寫法可以改成$.fn.hilight = {format : function( txt ) {}}; 這樣不會出錯但我想這絕對不是你要達到的東西...
作者: bbcust (bbcust)   2014-01-14 16:06:00
應該說我要某種type的jquery object有該function
作者: mrbigmouth (大嘴先生)   2014-01-14 16:40:00
某種type的jQuery object是什麼type?基本上是辦不到的 除非你去改寫jQuery物件的建構函數判定所選物件符合你的類別後再替它加method...複雜到家你不如讓所有jquery object都有該function, 然後在fn內部去判斷該物件是不是該類別,不是就不予處理

Links booklink

Contact Us: admin [ a t ] ucptt.com