jquery.click添加新元素没有绑定怎么解决

$(document).ready(function(){
$('#graphdiv>table').click(
		function(){
			console.log('hi');
		}
	);
})如上在页面载入时绑定,然后我再用ajax添加了table,但是新添加的table无法响应click
除了jsonclick事件还有什么方法可以解决吗?
谢谢
翻阅古今
浏览 402回答 2
2回答

阿波罗的战车

table元素是新添加的,在首次加载时,并没有$('#graphdiv>table')。怎么绑定函数?可以使用事件委托,将子元素的事件委托给父元素监听。直接给父元素绑定事件监听,事件发生时,检测其子元素是否符合条件。符合则触发子元素的事件。这样动态添加的子元素也有效。类似:ul.addEventListener("click",function(e){if(e.currentTarget.tagName=="li"){//做些什么}},false);jquery用delegate()实现了事件委托。这样,既减少了时间监听的数量,也能为动态添加的元素绑定事件。具体实现,楼上几位已经给了解答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript