jQuery .on()快捷语法与委托

时间:2016-11-21 23:15:17

标签: jquery syntax delegation

这是关于我刚刚找到的编码语法(快捷方式?)

上周我真的对this .on() syntax感到困惑
到目前为止,我对.on()所做的主要用途是将事件委托给动态添加的元素。

像这样:

$("[selector]").on("[event,event,event,...]","[delegate selector]",function(){
    //... Something.
});

这是将 ONE 处理程序从一个集合绑定到另一个(动态子级)有关一个或多个事件的常见用法。


但是,现在我知道this .on() syntax ...的存在 这更像是“特定于事件”,并且真正允许在代码编写中更简洁:

$("[selector]").on({
    [event]:function(){
        //...Something
    },
    [event]:function(){
        //...Something else.
    }
});

我看到这个(对我来说是新的!)语法,因为它提供了一个对象作为.on()的参数。
甚至很多物体,昏迷分开。

关于众多事件,它将特定处理程序绑定到集合中 我认为这是一种真正有效的编码方式......可读性很棒。

但现在......

如何使用此语法将事件从“onloaded”选择器委托给动态追加的子项?

有可能吗?
请告诉我是的,并告诉我如何!

1 个答案:

答案 0 :(得分:1)

  

如何使用此语法将事件从“onloaded”选择器委托给动态追加的子节点?

您正在寻找的语法是:

$('staticParentElement').on({
    [event]:function(){
        //...Something
    },
    [event]:function(){
        //...Something else.
    }
}, 'dynamicDescendants');