【发布时间】:2013-01-22 06:54:23
【问题描述】:
我正在尝试习惯 jQuery 中新的正确做事方式,但我不知道如何进行与原始绑定一样优雅/干燥的“实时”绑定。以前,使用“live”我相信你可以做到这一点,只提到一次元素:
$("#element_id").live("click",function(){
//stuff
}).live("mouseover", function(){
//stuff
}).live("mouseout", function(){
//stuff
});
现在,$(document).on 似乎我需要这样做:
$(document).on("click","#element_id",function(){
//stuff
}).on("mouseover","#element_id",function(){
//stuff
}).on("mouseout","#element_id",function(){
//stuff
});
这不太简洁并且重复了元素。有没有明显更简单的方法来实现这一点?
【问题讨论】:
-
为什么你还需要一个具有唯一标识符(即它的ID)的元素的委托事件?
-
@MattiasBuelens 这是一个简化的例子。具体来说,我正在尝试为通过 AJAX 动态加载的表行设置事件,所以我试图不重复 3 次的实际选择器是“#element_id tr”
-
那么你应该绑定到
#element_id并使用tr作为后代选择器。 -
@j08691 是的,这看起来可能是重复的。我浏览了至少十几个问题,但没有找到一个!
标签: javascript jquery