有没有办法阻止某些javascript函数访问jquery库

有没有办法阻止某些javascript函数访问jquery库,javascript,jquery,Javascript,Jquery,情况: 在一个网页上,我使用语法高亮和Lightbox 2 语法Highlighter使用JavaScript。Lightbox 2使用jQuery(版本1.7.2) 当我在独立(不同的页面)上运行每个脚本时,它都可以工作 只有在同一页上同时运行这两个程序时,问题才会出现 在Google Chrome上,网页运行得非常完美 在IE8上,我在调用lightbox2函数的一部分时出错 错误指向jquery1.7.2文件,说明此对象不支持方法/属性 准确的错误行代码是:parts=rfxnum.ex

情况:

  • 在一个网页上,我使用语法高亮和Lightbox 2
  • 语法Highlighter使用JavaScript。Lightbox 2使用jQuery(版本1.7.2)
  • 当我在独立(不同的页面)上运行每个脚本时,它都可以工作
  • 只有在同一页上同时运行这两个程序时,问题才会出现
  • 在Google Chrome上,网页运行得非常完美
  • 在IE8上,我在调用lightbox2函数的一部分时出错
  • 错误指向jquery1.7.2文件,说明此对象不支持方法/属性
  • 准确的错误行代码是:parts=rfxnum.exec(val)
  • 我插入了一个alert()来显示rfxnum和val的值
  • rfxnum=/^([+-]=)?([\d+.-]+)([a-z%]*)$/i
  • val=802
  • 我发现,当我独立运行这两个脚本时,警报显示rfxnum和val的相同值,但运行正常
  • Syntax Highlighter在所有条件下都能正常运行
我猜: -语法荧光笔似乎干扰了jQuery 1.7.2库中的值/函数/参数。或者是语法highlighter和jQuery库都引用的一些全局值

我的问题:

  • 有没有办法防止语法高亮器或任何其他非jQuery JS脚本不交互/引用jQuery库
  • 如果答案是,JavaScript首先不会引用jquerylibs,那么我的问题是出现这种情况的可能原因是什么
  • 或者,是否有一种方法可以将jQuery库和相关JS函数打包在一起,这样其他函数就不能引用包中的任何函数/变量
如果您有任何建议/见解,我将不胜感激。

您可以


var$j=jQuery.noConflict();
//$j现在是jQuery函数的别名;创建新别名是可选的。

使用jQuery.noConflict();-

如果可能,请制作一个示例,以便其他人能更好地了解。可以尝试使用自调用匿名函数(function(){..})()包装“no jquery code”;和/或使用jquery noconflict$.noconflict();就绪(函数($){//使用jQuery的$的代码可以在这里找到。});谢谢你的回复。我以前读过关于noconflict的文章,但我仍然难以理解如何实际使用它。在我上面的情况下,我是否要用$j替换每一个$?还是我要把$j放在所有函数前面?($j.function(){.It’s cleared here in the first link..see second paragraph..use like jQuery.noConflict();jQuery(document).ready(function($){真诚的道歉,第一次在这个表单上,我没有注意到代码示例下的链接。我已经检查了你给我的链接中的所有内容,尝试了所有我能做的事情,没有冲突。结论是我不认为这是没有冲突的问题。A)所有尝试都失败了w/noconflict B)你提供的链接上的大多数帖子都讨论了jquery和jquery。这个案例是js(非jquery)和jquery,在js脚本中没有使用$C。C)如果这是一个无冲突的问题,为什么要在google chrome中工作。不管怎样,谢谢你的建议,帮助我更多地理解了无冲突。
<!-- Putting jQuery into no-conflict mode. -->
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>

var $j = jQuery.noConflict();
// $j is now an alias to the jQuery function; creating the new alias is optional.