【问题标题】:jQuery .on() shortcut syntax vs delegationjQuery .on() 快捷语法与委托
【发布时间】:2017-04-05 11:55:24
【问题描述】:

这个是关于我刚刚发现的一种编码语法(快捷方式?)

上周我真的对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()
甚至许多物体,昏迷分开。

它出色地将特定的处理程序绑定到一个集合,涉及大量事件。
我认为这是一种真正有效的编码方式……而且可读性很好。

但是现在……

如何使用这种语法将事件从“已加载”选择器委托给动态附加的子节点?

有可能吗?
请告诉我是的,然后告诉我怎么做!

【问题讨论】:

    标签: jquery syntax delegation


    【解决方案1】:

    如何使用这种语法将事件从“已加载”选择器委托给动态附加的子节点?

    您正在寻找的语法是这样的:

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

    【讨论】:

    • 只有 "undefined" SO 用户才能回答这个问题!
    猜你喜欢
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    • 2012-08-05
    • 2013-02-24
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多