这几天在搭建基于SSH框架和Easyui技术的小网站,后台搭建不太难,前端页面也很简单。格式主要是左边导航栏一排,点击其中的菜单在右边tabs空间中添加一个tab,以href方式加载已经写好的jsp页面。原本是希望在加载完页面后,同时执行页面中的js脚本,比如给页面中的元素添加事件以及控件动态添加服务器端请求的数据,但是试了很多次感觉页面的脚本都没能执行,纳闷了很久。后来在网上看了一篇文章说href方式引入的网页只有body中的html内容,不能加载head中的script脚本以及style样式等,所以后来尝试在被加载的html片段尾部使用 $.parser.onComplete处理事件,一切都顺利了。
比如要加载的页面是b.jsp,内容原来如下:
<head> <script> $(function(){ alert("------"); }); </script> </head> <body> 这是b.jsp页面,事件触发啦 <body>
我们原来准备加载b.jsp的代码如下:
<div id="tt" class="easyui-tabs"> </div> $('#tt').tabs('add',{ title:'New Tab', href:'b.jsp', closable:true, });
如果按照上述代码加载就不会执行/alert("------");/语句,所以我们修改b.jsp代码如下:
<head> </head> <body> 这是b.jsp页面,事件触发啦 $.parser.onComplete = function(){ alert("------"); } <body>
测试成功!