有没有办法阻止某些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 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.