动态生成的html中无法触发click事件

Cycle_C 发布于 2012/06/29 20:17
阅读 6K+
收藏 0
main.jsp:
 <div class="main">
	<jsp:include page="../prototype/welcome_banner.jsp"></jsp:include>
	<jsp:include page="../employment/sub_menu.jsp"></jsp:include>
	<div class="rightCon"><div>
	<jsp:include page="../employment/main_menu.jsp" />
						
</div>
<div class="content_box">
     
</div>

下面是sub_menu.jsp

<div class="leftBar">
	<div class="sub_title">
		<dl>
			<dt id="ncId">
				功能子菜单
			</dt>

		</dl>
		<div class="fillBox"></div>
	</div>
</div>

<script type="text/javascript">
	loadCategory() ;
	function loadCategory() {
		var ncId = "root";		
		var nodeHead =null;
		var pid = "ff80818138362b6b0138364d8fd90001" ;
		$("#ncId").append(nodeHead);
		//alert("get here") ;
		$.ajax( {
			url : 'loadCategory.action',
			type : 'post',
			data :{ pid: pid } ,
			cache : false,
			dataType : 'json',
			success : function(data) {
				data = eval(data);
				$.each(data, function(index, item) {
					var node = "<dd id='";
					node += item.id;
					node += "'>"+"<a class='"+item.nameEn+"'>";
					for (i = 0; i < item.levels - 1; i++) {
						node += '&nbsp;&nbsp;';
					}
					node += item.nameCn;
					node += "</a></dd>";
					$("#ncId").append(node);
				});
				setTimeout(function() {$("#ncId").val(ncId)}, 200);
			}
		});
	}
</script>

 事件触发:

$('.addArticle').click(function(e){
        e.preventDefault() ;
        alert("s") ;
        //$('.conttent_box').innerHtml="" ;
    });

   代码如上, 我用的是ff 浏览器13.0,动态生成的内容可以出来,但是就是无法触发click事件.而把内容直接写在jsp里时,事件可以触发.是什么原因呢??

加载中
0
Cycle_C
Cycle_C

解决了,参考这里的:http://my.oschina.net/u/135304/blog/31612

原因是新生成节点没有和事件绑定.

0
搞不懂
搞不懂
使用jQuery.live 绑定事件
Cycle_C
Cycle_C
嗯嗯.就是这么做解决的.
返回顶部
顶部