完美解决jQuery符号$与其他javascript 库、框架冲突的问题

目前有大量的 javascript 开发框架,其中有一部分使用 $ 作为调用符号,这可能导致相互之间的冲突,而 jQuery 为解决这个问题,可以在 jQuery 导入时放弃 $ 使用权,届时 $ 则由其它框架使用,这样可以避免相同名字的函数调用不再冲突。

jQuery 使用 noConflict 方法来放弃 $ 调用时的命名,之后由 jQuery 代替 $ 进行编写。

例如:alert($('#message').val());

必须修改为 alert(jQuery('#message').val());

jQuery 才能正常运行。

<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
 $.noConflict();
 // 之后将只能用 jQuery 进行调用
 jQuery('#message').val();
</script>

也可以重新定义 $ 进行调用

<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
jQuery( document ).ready(function( $ ) {
 // Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
</script>

换成 j 作为调用符号

var j = jQuery.noConflict();
 
// Do something with jQuery
j( "div p" ).hide();
 
// Do something with another library's $()
$( "content" ).style.display = "none";

相关推荐