我遇到了一個問題,我已經結束了兩個名爲相同的函數(jquery.fn.filter)。一個來自第三方插件,另一個來自我的插件之一。顯然,我可以在我的插件中重命名該函數,但如何編寫插件以避免發生這種情況的可能性最好?是否有可能引入某種類似java/.net的命名空間呢?如何避免jQuery插件之間的功能衝突
0
A
回答
0
我喜歡你對jQuery命名空間的看法。
(http://docs.jquery.com/Using_jQuery_with_Other_Libraries)沒有幫助,如果你有同名的任何功能。
2
這裏的問題不在於jQuery代碼是否可以使用名稱空間 - 您描述的衝突發生在jQuery插件的「導出」接口中,即用戶的函數名稱。這與傳統意義上的命名空間無關。
因爲它是jQuerys概念的一個重要組成部分,所以在集合上使用簡短易記的函數名稱,在沒有犧牲簡單性的情況下,沒有什麼可以做到的。
說了這麼多,可能的,但醜陋的解決方案會是什麼樣子:
$("#selector").fns("my.name.space.company")("myargument");
此代碼將調用虛函數fns
解析給定的字符串,以一個真正的功能,並返回該功能。然而,實現這一功能作爲一個插件施加同樣的問題...
結論:沒有出路;-)
+0
作爲最後一個注意事項:使用上述使用類似 , $(「#selector」)的相同長度的函數名稱的輪詢函數沒有任何優勢。 my_name_space_company( 「myargument」); – 2010-03-09 15:48:02
相關問題
- 1. 避免jQuery衝突
- 2. 如何避免JQuery和原型之間的衝突
- 3. 如何避免自動保存和手動保存功能之間的衝突
- 4. 如何避免dnn中的jquery衝突
- 5. 如何避免jQuery中的類衝突
- 6. 兩個jQuery插件之間的衝突?
- 7. jQuery的功能與其他插件jQuery的功能衝突
- 8. 具有相同功能名稱的兩個jQuery插件之間的衝突
- 9. 如何解決兩個jQuery插件之間的衝突
- 10. 如何避免Javascript中的變量/函數衝突(沒有使用jQuery插件)
- 11. 避免衝突,如果複製文件
- 12. Node.js,如何避免事件名稱空間衝突?
- 13. 名稱空間避免衝突 - 例子?
- 14. 爲什麼jQuery插件發生衝突,以及如何避免它們?
- 15. 衝突$ .ajaxSetup jQuery的功能
- 16. 如何避免合併衝突拉?
- 17. 如何避免列名衝突?
- 18. jQuery插件LavaLamp和jQuery循環之間的衝突
- 19. 觸發來避免衝突
- 20. 避免資源衝突
- 21. 如何避免jQuery的回調函數與原型的衝突
- 22. 如何避免Cocos2d-x中的MenuItemImage和MenuItemSprite之間的衝突3.15.1
- 23. jquery點擊功能衝突
- 24. 防止jQuery的原型/插件方法之間的衝突
- 25. 拖放和可排序的jQuery插件之間的衝突
- 26. JavaScript的jQuery插件衝突
- 27. Fancybox和Jquery-UI插件之間的衝突
- 28. 兩個jQuery插件之間的衝突(可拖動和滾動)
- 29. jCarousel和jQZoom之間的衝突jQuery插件
- 30. jScrollPane和NivoSlider WP插件之間的jQuery衝突問題
我不知道怎麼這會有所幫助。我的問題是,兩個jQuery插件定義Query.fn中具有相同名稱的函數。 jQuery.fn.filterCharacters = function(options){...} – Jeremy 2010-03-09 15:54:56