製做 jQuery 的 Plugin 時,有時會使用成套函式的設計,也就是包含了「啟用此 Plugin」函式及「停用此 Plugin」的函式。
例如部落格上常會見到的「繼續閱讀」,或許有些瀏覽者不適應這項功能。假設它是一個成套 Plugin,此時使用此 Plugin 的網頁設計者就可以在頁面放上鉤選是否使用「繼續閱讀」的設定介面,如瀏覽者鉤選了不使用,則呼叫「停用此 Plugin」函式直接停用即可。
啟用/停用的 Plugin 程式碼通常會像如下的撰寫方式,「setOverFlowHidden」為啟用,「unSetOverFlowHidden」為停用。
看似沒什麼問題,不過當頁面中有使用其它 jQuery Plugin,並也有覆寫「click」事件時,停用的程式句「.unbind("click")」將會讓引入不同 Plugin 的同個物件「click」失去效果而影響到其它 Plugin 的運作。所以此刻我們可以採用 Namespace 的撰寫方法來避免憾事發生。
程式碼改寫如下,將原本的「click」事件另加上我們易辯識的 Namespace 成為「click.setOverflowH_sh」,這樣就可行了。
0 意見:
張貼留言