使用$(document).on将多个事件绑定到同一个元素

jos*_*und 8 javascript jquery

我正在尝试习惯于在jQuery中使用新的正确方法,但我无法弄清楚如何做一个像原始一样优雅/干燥的"实时"绑定.以前,有了"live",我相信你可以做到这一点,只提到一次元素:

$("#element_id").live("click",function(){
  //stuff
}).live("mouseover", function(){
  //stuff
}).live("mouseout", function(){
  //stuff
});
Run Code Online (Sandbox Code Playgroud)

现在,$(document).on看来我需要这样做:

$(document).on("click","#element_id",function(){
  //stuff
}).on("mouseover","#element_id",function(){
  //stuff
}).on("mouseout","#element_id",function(){
  //stuff
});
Run Code Online (Sandbox Code Playgroud)

这不太简洁,并重复元素.是否有一种明显更简单的方法来实现这一目标?

Exp*_*lls 21

$(document).on({
    click: function () {},
    mouseover: function () {},
    mouseout: function () {}
}, '#element_id');
Run Code Online (Sandbox Code Playgroud)

小心使用document; 您可能想要使用更具体的选择器.我也不一定说动态加载ID元素是不好的做法,但它看起来很可疑.