在使用jquery或javascript代码时,大多数时候我不得不面对jquery或javascript冲突的问题。
我仍然不明白为什么这个东西会与其他代码发生冲突?
有人知道这件事吗?
以及任何解决方案,以便下次在项目开发时不会发生此问题。
我有一个解决jquery文件冲突的方法,那就是:
<script>
var j$=jQuery.noConflict();
</script>但是这段代码一直都不能工作。
发布于 2012-02-17 15:57:13
如果您使用的是另一个使用$变量的JavaScript库,则可能会与jQuery发生冲突。为了避免这些冲突,在将jQuery加载到页面之后,在尝试在页面中使用jQuery之前,需要立即将其置于无冲突模式。
方法1:
当您将jQuery置于无冲突模式时,您可以选择分配一个变量名来替换$。(只有一次)
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>var $j = jQuery.noConflict();</script> 方法2
您可以通过将代码包装在一个自动执行的匿名函数中来继续使用标准的$;这是插件创作的标准模式,在这种模式下,作者不知道是否会有其他库接管$。
<script src="jquery.js"></script>
<script>
jQuery.noConflict();
(function($) {
// your code here, using the $
})(jQuery);
</script>方法3:
使用jQuery而不是$
几乎没有其他方法可以做到这一点,reference
发布于 2012-02-17 15:45:00
对于jQuery,在noConflict的API页面中对此进行了解释;基本上,许多JS框架使用$作为函数名,因此如果使用多个函数名,它们可能会发生冲突。
发布于 2012-02-17 16:06:07
尝试将以下内容放入您的标题中:
<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>https://stackoverflow.com/questions/9324583
复制相似问题