jQuery easyUI 局部ajax刷新后,无法响应点击事件(在线等,先谢谢各位)

yujun32 2012-11-17 04:08:38


左侧部分(west)我直接如下这样写是正确的(如上图):
<div id="westid" region="west" border="true" split="true" title="系统菜单" class="cs-west">

<div class="easyui-accordion" fit="true" border="false">
<div title="home1" selected="true">
<a href="javascript:void(0);" src="api/documentation.html" class="cs-navi-tab">a</a></p>
<a href="javascript:void(0);" src="api/parser.html" class="cs-navi-tab">b</a></p>
<a href="javascript:void(0);" src="api/easyloader.html" class="cs-navi-tab">c</a></p>
<a href="javascript:void(0);" src="api/draggable.html" class="cs-navi-tab">d</a></p>
<a href="javascript:void(0);" src="api/droppable.html" class="cs-navi-tab">e</a></p>
</div>
<div title="home2">
<a href="javascript:void(0);" src="api/panel.html" class="cs-navi-tab">panel</a></p>
</div>

</div>

</div>
<div id="mainPanle" region="center" border="false">
<!--都是些普通测试easyui控件 -->
aaaaaaaaaaaaaa
</div>


点击每一个class="cs-navi-tab"的a标签都能新开一个tabs子页面到右侧(center)。
但是当我点击最上面的一级按钮按钮(仲裁投诉、物料申购、支付宝这些),ajax刷新下面左侧菜单后,从另一个html页面读取过来的带有class="cs-navi-tab"的a标签点击事件失效了,图:

上图的a,b,c,d这些的点击监听事件都失效了
ajax刷新代码:
//点击菜单切换样式/关闭相关标签页面
$(document).ready(function(){
// 切换样式
$("#saturday > li > a").click(function(){
var thisobj = $(this).html();
$("#saturday").find("li > a").each(function(){
if(thisobj!=$(this).html()) {
$(this).removeClass("current");
}else{
$(this).addClass("current");
var urls = 'left_' + $(this).attr('title') + '.html';

// 修改左侧菜单
htmlobj=$.ajax({url:urls,async:false});
var html = htmlobj.responseText;
$("#westid").html(html);
$.parser.parse();

// 关闭上一个一级菜单打开的tabs子页面
$('.tabs-inner span').each(function(i,n){
var t = $(n).text();
alert(t);
if(t !== "首页") {
$('#tabs').tabs('close',t);
}
});
}
});
});
});

ajax请求的HTML页面:
<div class="easyui-accordion" fit="true" border="false">
<div title="支付宝1" selected="true">
<a href="javascript:void(0);" src="api/documentation.html" class="cs-navi-tab">a</a></p>
<a href="javascript:void(0);" src="api/parser.html" class="cs-navi-tab">b</a></p>
<a href="javascript:void(0);" src="api/easyloader.html" class="cs-navi-tab">c</a></p>
<a href="javascript:void(0);" src="api/draggable.html" class="cs-navi-tab">d</a></p>
<a href="javascript:void(0);" src="api/droppable.html" class="cs-navi-tab">e</a></p>
<a href="javascript:void(0);" src="api/resizable.html" class="cs-navi-tab">f</a></p>
<a href="javascript:void(0);" src="api/pagination.html" class="cs-navi-tab">g</a></p>
<a href="javascript:void(0);" src="api/searchbox.html" class="cs-navi-tab">h</a></p>
<a href="javascript:void(0);" src="api/progressbar.html" class="cs-navi-tab">i</a></p>
</div>
<div title="支付宝2">
<a href="javascript:void(0);" src="api/panel.html" class="cs-navi-tab">panel</a></p>
<a href="javascript:void(0);" src="api/tabs.html" class="cs-navi-tab">tabs</a></p>
<a href="javascript:void(0);" src="api/accordion.html" class="cs-navi-tab">accordion</a></p>
<a href="javascript:void(0);" src="api/layout.html" class="cs-navi-tab">layout</a></p>
</div>

</div>


监听点击class="cs-navi-tab"的a标签的方法:
$(function() {
$('.cs-navi-tab').click(function() {
var $this = $(this);
var href = $this.attr('src');
var title = $this.text();
addTab(title, href);
});
});

请问是不是$.parser.parse();这个解析器造成的这种情况?该怎么解决?
因为菜单比较多,并且为了团队合作与权限控制,只能这样动态加载下方左侧的菜单,求高手们给点建议。
...全文
802 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujun32 2012-11-17
  • 打赏
  • 举报
回复
引用 3 楼 xl_0715 的回复:
htmlobj=$.ajax({url:urls,async:false}); ================================================= $.ajax({ url: "test.html", context: document.body, success: function(){ $(this).addClass(……
兄弟,分都给你了
yujun32 2012-11-17
  • 打赏
  • 举报
回复
哈哈,终于解决了,刚刚重复看了下js代码,发现class绑定的监听事件放在$(function)里面,把对应class事件的监听重载一次就行了。- - 群里的一个好多房子的高富帅提醒了我,一栋房子装了监控器,不代表其他房子也能监控到···
吾非大神 2012-11-17
  • 打赏
  • 举报
回复
htmlobj=$.ajax({url:urls,async:false}); ================================================= $.ajax({ url: "test.html", context: document.body, success: function(){ $(this).addClass("done"); }}); 用ajax的话,就在执行成功的函数里,在进行接下来的操作
yujun32 2012-11-17
  • 打赏
  • 举报
回复
我已经用firebug查看了相关生成的HTML代码,初始化加载的跟ajax加载的html是一模一样的,为什么ajax加载后的就不能响应click监听呢?
yujun32 2012-11-17
  • 打赏
  • 举报
回复
求关注,jquery高手速度来啊,弄了一天没解决

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧