更简洁的事件监听器

时间:2013-10-19 10:19:12

标签: jquery function event-listener

我有很多事件监听器,所有事件的行为都略有不同。我想要做的是让这段代码更简洁,因为这似乎是一种冗长的方式来表达我想要实现的目标。鉴于每个函数在发生稍微不同的事件之后发挥作用,这是可能的,还是这是我能期望的最好的?

function action() {
  var all = $("input, textarea, select");

  all.on("focus, keyup", function() {
    doSomething();
  });

  all.focus(function() {
    doSomethingElse();
  });

  $("input, textarea").keyup(function() {
    doAnotherThing();
  });

  $("select").change(function() {
    doAnotherThing();
    doYetAnotherThing();
  });
}

1 个答案:

答案 0 :(得分:0)

类似的东西:

function action() {
  var all = $("input, textarea, select");

  all.on("focus, keyup", function(event) {
    doSomething();

    if(event.type == "focus"){
      doSomethingElse();
    }
  });

  $("input, textarea").keyup(function() {
    doAnotherThing(someParams?);
  });

  $("select").change(function() {
    doAnotherThing(someParams?);
    doYetAnotherThing();
  });
}

function doAnotherThing(someParams?){
    //Your code
}

也许keyup / change事件可能更加简洁......但目前不知道。