У меня есть несколько слушателей событий, все они действуют несколько иначе. То, что я пытаюсь сделать, - сделать этот код более кратким, так как кажется, что это длинный способ сформулировать то, что я пытаюсь достичь. Учитывая, что каждая функция действует после нескольких разных событий, возможно ли это, или это лучшее, на что я могу надеяться?
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();
});
}
Что-то вроде того:
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
}
Возможно, события с клавишами/изменениями могут быть более сукцинами... но в настоящее время нет идеи.
nodeName
иevent.type
внутри одного.on('keyup,change,focus', function(){
, но я не уверен, что это приведет к уменьшению кода.