在使用jquery或javascript代码时,大部分时间我都要面对jquery或javascript冲突的问题。
我仍然没有理解为什么这些东西会与其他代码发生冲突?
有人对此有任何想法吗?
任何解决方案,以便下次在项目开发时不会发生此问题。
我有一个解决方案来阻止jquery文件的冲突,
<script>
var j$=jQuery.noConflict();
</script>
但是这段代码一直没有用。
答案 0 :(得分:6)
如果您正在使用另一个使用$ variable的JavaScript库,则可能会遇到与jQuery的冲突。为了避免这些冲突,您需要在将jQuery加载到页面之后以及尝试在页面中使用jQuery之前立即将jQuery置于无冲突模式。
当您将jQuery置于无冲突模式时,您可以选择指定变量名称来替换 $ 。 (只有一次)
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>var $j = jQuery.noConflict();</script>
您可以通过将代码包装在一个中继续使用标准$ 自动执行匿名功能;这是一个标准模式 插件创作,作者无法知道是否有另一个库 将接管$。
<script src="jquery.js"></script>
<script>
jQuery.noConflict();
(function($) {
// your code here, using the $
})(jQuery);
</script>
使用jQuery
代替$
没有其他方法可以做到这一点
reference
答案 1 :(得分:1)
对于jQuery,它在noConflict的API页面中进行了解释;基本上,许多JS框架使用$
作为函数名,因此如果使用多个JS框架,它们可能会发生冲突。无论如何它不应该。
答案 2 :(得分:1)
尝试将其放在标题中:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"> </script>
尝试在DOM
准备就绪时发出提醒,如果没有冲突则发现提醒
<script>
$(document).ready(function () {
alert("Hello!");
});
</script>
我有冲突试试这个:
<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function($) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
</script>