如何检测是否已单击按钮或使用jQuery更改了输入的值?

时间:2014-10-08 21:49:13

标签: jquery

我的目标是在输入的值发生变化或单击按钮时执行某些操作。

我知道如何单独实现这些。例如:

$( 'form :input' ).change( function() {
    // Do something.
});

$( 'button' ).click( function() {
    // Do something.
});

但是我怎么能一起实现它们呢?这是我尝试实现的一些伪代码示例:

if ( button is clicked ) OR ( input value changed ) {
    // Do something.
}

3 个答案:

答案 0 :(得分:1)

您可以传递与处理程序相同的功能。

function clickOrChangeHandler () {
    // do something
}

$('form:input').change(clickOrChangeHandler);

$('button').click(clickOrChangeHandler);

答案 1 :(得分:0)

如何定义函数并在每种情况下只调用相同的函数?

这样的事情:

function f () {
    // do your stuff
}

$('form:input').change(f);
$('button').click(f);

答案 2 :(得分:0)

委托事件将允许组合选择器和事件:

$(document).on('change click', 'form :input, button', function() {
    // Do something.
    alert("event from " + this.outerHTML);
});

然而,这会触发两次复选框(更改并单击)。

JSFiddle:http://jsfiddle.net/TrueBlueAussie/zqvs0ne9/1/