Javascript 忽略对jquery.change的关注

Javascript 忽略对jquery.change的关注,javascript,jquery,html,Javascript,Jquery,Html,例如,我有以下代码: $(".someSelector").change(function() { // Do something // Call function // console.log('test') }); 问题是,它被调用了两次:每当我失去输入字段的焦点时,以及每当值改变时 我希望只在值更改时调用它 除了将旧的输入值与新的输入值进行比较外,还有没有其他方法可以忽略更改上的焦点丢失?以下是我认为同样适用于

例如,我有以下代码:

    $(".someSelector").change(function()
    {
        // Do something

        // Call function

        // console.log('test')

    });
问题是,它被调用了两次:每当我失去输入字段的焦点时,以及每当值改变时

我希望只在值更改时调用它


除了将旧的输入值与新的输入值进行比较外,还有没有其他方法可以忽略更改上的焦点丢失?

以下是我认为同样适用于您的另一个问题的答案:

您可以将“输入”事件绑定到文本框。这将在每次输入更改时触发,因此当您粘贴某些内容(即使使用鼠标右键单击)时,删除并键入任何内容

$('#myTextbox').on('input', function() {
    // do something
});
如果使用更改处理程序,则只有在用户取消选择输入框后才会触发,而输入框可能不是您想要的


资料来源:

我认为另一个问题的答案也适用于你:

您可以将“输入”事件绑定到文本框。这将在每次输入更改时触发,因此当您粘贴某些内容(即使使用鼠标右键单击)时,删除并键入任何内容

$('#myTextbox').on('input', function() {
    // do something
});
如果使用更改处理程序,则只有在用户取消选择输入框后才会触发,而输入框可能不是您想要的

来源:

您应该使用而不是
更改

输入
在每次值更改时触发(包括粘贴)<代码>更改在值更改时触发模糊

$(".someSelector").on('input', function() {
    // Do something
});
输入
事件为。

您应该使用而不是
更改

输入
在每次值更改时触发(包括粘贴)<代码>更改在值更改时触发模糊

$(".someSelector").on('input', function() {
    // Do something
});

input
事件为。

仅当您的案例中的值发生更改时,才会调用它。您的问题有问题:
onchange
如果值未更改,则不会触发事件。仅当值在对焦后发生更改时,才会在模糊上触发它。仅当值在您的案例中发生更改时,才会调用它。您的问题有问题:
onchange
如果值未更改,则不会触发事件。只有在对焦后值发生变化时,才会触发模糊。