保持jQuery与其他框架兼容的常规方法是使用以下代码覆盖$ -Function:
jQuery.noConflict();
jQuery(document).ready(function() {
jQuery("someelement").dosomething();
});
或
$j = jQuery.noConflict();
$j(document).ready(function() {
$j("someelement").dosomething();
});
但是还有一种方法可以保持额外的jquery-plugins兼容而不会像上面那样改变整个$ -Function-Signs吗?
提前致谢!
丹尼
答案 0 :(得分:2)
jQuery
对象作为参数传递给ready
处理程序,因此您可以这样做:
jQuery.noConflict();
jQuery(document).ready(function($) {
$("someelement").dosomething();
});
关于插件:他们应该只访问全局jQuery
元素,以完全避免这些兼容性问题。
大多数插件都定义为
(function($) {
// plugin code here
}(jQuery));
如果他们不是,那么他们的设计很糟糕。如果您有这样的插件,您应该编写它的作者来修复它。您必须更改源代码并将整个代码包装在此函数中以使其正常工作。