怎样采用JSI解决不同类库间的冲突,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
采用JSI解决不同类库间的冲突
众所周知, Scriptaculous所依赖的Prototype库与jQuery存在冲突。所以同时使用比较困难。
JSI针对每一个装载的脚本都有完全独立的执行上下文。所以这个问题能在JSI上彻底解决。
下面的例子,我们将在同一个页面上同时使用Scriptaculous和 jQuery 类库。证实一下JSI隔离冲突功能。
示例页面(hello-jquery-aculo.html):
〈html〉
〈head〉
〈title〉Hello jQuery And Scriptaculous〈/title〉
〈!-- 加入引导脚本 --〉
〈script src="../scripts/boot.js"〉〈/script〉
〈script〉
//导入jQuery
$import("org.jquery.$");
//导入Scriptaculous
$import("us.aculo.script.Effect");
$(document).ready(function(){
//使用jQuery添加一段问候语
$("〈p id='helloBox' style='background:#0F0; text-align:center; font-size:40px; cursor:pointer; '〉Hello jQuery And Scriptaculous〈/p〉") .appendTo('body');
$('#helloBox').ready(function(){
//使用Scriptaculous高亮显示一下刚才添加的内容
new Effect.Highlight('helloBox');
}).click(function(){
//当用户单击该内容后使用jQuery实现渐出
$('#helloBox').fadeOut();
});
});
〈/script〉
〈/head〉
〈body〉
〈p〉文档装载后,jQuery将在后面添加一段问候语;并使用Scriptaculous高亮显示(Highlight);在鼠标点击后在使用jQuery渐出(fadeOut)。〈/p〉
〈/body〉
〈/html〉
看完上述内容,你们掌握怎样采用JSI解决不同类库间的冲突的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!