怎样采用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解决不同类库间的冲突的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!