javascript - 拦截 .blur() 事件中的值变化

标签 javascript jquery events

我正在使用 .blur() 函数在每次文本字段失去焦点时(以及当它的值没有改变时)执行一些代码。

现在我需要添加一些仅在文本字段值更改时才必须执行的逻辑。有没有办法将 .change() 事件与 .blur() 结合起来?或者,更好的是,有没有办法知道我的文本字段中的值是否仅使用 .blur() 更改?

最佳答案

不是直接的,但是您可以将值存储在 focus 事件中..

有点像

$('input')
    .on('focus',function(){
        // store the value on focus
        $(this).data('originalValue', this.value);
    })
    .on('blur',function(){
        // retrieve the original value
        var original = $(this).data('originalValue');

        // and compare to the current one
        if (original !== this.value){
            // do what you want
        }
    });

当然你可以为每个事件绑定(bind)不同的处理程序..

$('input')
   .on('change', function(){/*your change code*/})
   .on('blur', function(){/*your blur code*/});

关于javascript - 拦截 .blur() 事件中的值变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16710227/

相关文章:

javascript - 如何使用 React-Redux 模拟事件?

javascript - IndexedDB 使用 promise 检索记录

javascript - Android 键盘更换网页 View

javascript - 如何将 window.setTimeout 与 javascript 和模块模式一起使用

javascript - 在 Flask 应用程序中将变量从后端传递到前端

javascript/jquery 增量检查

c# - 通过 ComboBox 更改 RichTextBox Selection 的字体大小无法正常工作

vba - 如何使 application.reminder 事件起作用?

javascript - vscode代码折叠不显示右括号

javascript - NodeJS中的警报(无任何延迟)