function showContent(obj) {
$(obj).click(function() {
$('#Notice').modal({
show : true
});
var NoticeText = $(obj).parent().find("div").text();
$('#Notice .modal-body').text(NoticeText);
})
}
这是js代码,就是一个简单的点击事件
<c:forEach items="${Noticelist}" var="item">
<li >${item.noticeTitle}
<span style="margin-left: 15px">${item.pubTime}</span>
<div style="display: none">${item.noticeContent}</div>
<a href="javascript:void(0)" onclick="showContent(this)">查看详情</a>
</li>
</c:forEach>
这是对应的html代码,目前的情况是,刷新页面后第一次单击不触发这个点击事件,第二次单击时就正常触发了,很影响体验,js比较弱,不明白为什么会出现这种情况
因为你第一次点击的时候是为a标签绑定了一个click事件,这个click要到第二次点击才生效。
如果是动态绑定事件,可以用jquery的on方法。
给a标签增加一个名为‘showModel’的class,然后用on方法就行。我习惯这样写:
<c:forEach items="${Noticelist}" var="item">
<li >${item.noticeTitle}
<span style="margin-left: 15px">${item.pubTime}</span>
<div style="display: none">${item.noticeContent}</div>
<a class="showModel" href="javascript:void(0)">查看详情</a>
</li>
</c:forEach>
$('body').on('click','.showModel',function(){
$('#Notice').modal({
show : true
});
var NoticeText = $(this).parent().find("div").text();
$('#Notice .modal-body').text(NoticeText);
})
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。