百花齐放 日月同辉――采用JSI解决不同类库间的冲突

来源:互联网 发布:mac 无法播放flash 编辑:程序博客网 时间:2024/04/28 21:45
众所周知, 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>




 
原创粉丝点击