0

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

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();
  });
}
4

1 回答 1

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 事件可能更简洁......但目前不知道。

于 2013-10-19T10:38:05.263 回答