【问题标题】:Jquery - Delegate multiple element and multiple eventJquery - 委托多个元素和多个事件
【发布时间】:2014-12-11 10:26:02
【问题描述】:

我只是快速问我的问题。(因为我的英语不太好)
我可以像这样或其他类似方式使用委托吗?

$( 'body ').delegate({
    'input[type=text]': {
        'change': function( e ) {
            //codes..
        },
        'blur': function( e ) {
            //codes..
        }
    },
    '.ipsum': {
        'click': function( e ) {
            //codes..
        }
    }
});

【问题讨论】:

    标签: javascript jquery delegates


    【解决方案1】:

    您使用的是哪个版本的 jQuery?如果您使用的是 jQuery 1.7 或更高版本,请使用 .on() 而不是 .delegate()

    更多信息请访问.delegate() vs .on()

    回到你的例子:

    最好的方法是像这样拆分 2 个元素:

    $('input[type=text]').on({
        change: function() {
            // code
        },
        blur: function() {
            // code
        }
    });
    

    第二个元素:

    $('.ipsum').on({
        click: function() {
            // code
        }
    });
    

    【讨论】:

    • 我正在使用 1.11.1 并且我知道 on() 函数。 on() 不像 delegate() 那样工作。我喜欢使用委托(),但我不这样做:/
    • 您想在一个委托中组合元素和事件的原因是什么?
    • 告诉我,哪个更好。分别使用 5 个元素的委托(有 2 个或 3 个事件)或 5 个元素使用 1 个委托? .. 例如 > .one 的委托,.two 的委托,.three 的委托,.four 的委托,.five 的委托 ||或||代表 (.one,.two,.three,.four,.five) 哪一个是更好的逻辑?
    • 这些元素的逻辑是否相同?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    相关资源
    最近更新 更多