搜索

首页  >  问答  >  正文

javascript - jQuery两个操作触发同一个函数,如何优化写法?

$('#button').click(function() {
    todo();
});

$('#input').keydown(function(e) {
    if(e.keyCode == 13) {
        todo();
    }
});

比如点击按钮或者在输入框中回车执行相同的操作,能否优化成如下类型代码:

$('#buttonA,#buttonB').click(function(){
    todo....
});

phpcn_u1582phpcn_u15822780 天前447

全部回复(1)我来回复

  • 怪我咯

    怪我咯2017-05-19 10:36:29

    一般我喜欢用托管的方式

    $('.container').on('click', '.btn', function(e) {
        // 只有在点击 .container 下的 .btn 元素才运行, this 只想的是 .btn 元素
        // 而且 不需要考虑你的 .btn 是否存在, 是否后加载
    });

    如果你两个操作有共性, 可以用一样的 类名 标识和绑定事件
    不同类型的话, 用你第一种方法就挺好

    回复
    0
  • 取消回复