将jquery中动态生成的元素上的多个事件处理程序对绑定到on

时间:2014-06-08 03:37:09

标签: javascript jquery refactoring

我有一些动态生成的元素,类my-class我要绑定一些事件。我有以下代码,它可以正常工作。

$(document).on("event1", ".my-class", function () {
    alert("Event 1");
});

$(document).on("event2", ".my-class", function () {
    alert("Event 2");
});

我想对其进行重构,以便只能对该类别调用on。像这样的东西

$(document).on(".my-class", {      
    "event1": function() {alert("Event1")},
    "event2": function() {alert("Event2")}
});

这在jquery中是否可行?

1 个答案:

答案 0 :(得分:1)

可能有更好的方法,但我之前使用过它并且它对我有用:

<强> Demo Fiddle

我不会委托文档,而是使用最近的父容器。

JS:

$('body').on('click mouseenter', 'div', function(e) {
    if (e.type === 'click') {
        $('div').html('clicked');
    }
    else {   //you'd need an else if here if you had more than two event types
        $('div').html('mouse enter');
    }
});