如何简化具有不同jQuery事件但功能相同的两个输入

如何简化具有不同jQuery事件但功能相同的两个输入,jquery,function,event-handling,Jquery,Function,Event Handling,我有两个不同事件的输入,但它们运行相同的函数。我的第一次尝试是: var inputa = $("input[name='inputa']"); var inputb = $("input[name='inputb']"); inputa.on('change keyup blur', function() { // Logic }); inputb.on('blur', function() { // Logic }); 这很有效,但我认为这是一种浪费,也许有一种方法可以

我有两个不同事件的输入,但它们运行相同的函数。我的第一次尝试是:

var inputa = $("input[name='inputa']");
var inputb = $("input[name='inputb']");

inputa.on('change keyup blur', function()
{
    // Logic
});

inputb.on('blur', function()
{
    // Logic
});
这很有效,但我认为这是一种浪费,也许有一种方法可以简化它。我做了一些研究,发现:

inputa.on('change keyup blur', myFunction());
inputb.on('blur', myFunction());

function myFunction()
{
    // Logic
}

我将逻辑放入一个函数中,并将其放入相应的事件中。但它不起作用。有人能帮我解决这个问题吗?

问题是当您的
()
位于:

inputb.on('blur', myFunction());
您正在立即调用该函数,而您想要的是将该函数作为引用传递:

inputb.on('blur', myFunction);

问题是当您将
()
置于以下位置时:

inputb.on('blur', myFunction());
您正在立即调用该函数,而您想要的是将该函数作为引用传递:

inputb.on('blur', myFunction);

inputa.on('change keyup blur',myFunction())-->
inputa.on('change keyup blur',myFunction)哇,成功了。谢谢@Pang
inputa.on('change keyup blur',myFunction())-->
inputa.on('change keyup blur',myFunction)哇,成功了。谢谢你,彭