javascript - 找出模糊值与 "the focus one"相比是否不同(JavaScript + jQuery)

标签 javascript jquery

我试图找出用户是否更改了文本字段或选择选项,如果是,则执行一些操作。我也在使用 jQuery。

$('.c').on('focus',function(){
    var origval=this.value;
    $(this).on('blur',function(){
        var newval=this.value;
        if(origval==newval){
            alert('not changed');
        }
        else{
            alert('changed');
        }
    });
});

但这不是正确的解决方案,我做错了。有时它会提醒“已更改”,尽管它不应该如此。谁能告诉我问题出在哪里?谢谢。

http://jsfiddle.net/QGag2/1/

最佳答案

模糊事件被订阅多次,因为每个焦点都会发生这种情况。

在订阅之前取消订阅模糊事件(off 方法),或者在模糊发生后取消订阅事件。

$(this).off('blur').on('blur',function(){

关于javascript - 找出模糊值与 "the focus one"相比是否不同(JavaScript + jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23749952/

相关文章:

jquery - Twitter Bootstrap Typeahead - 搜索开始时向输入添加 "loading"类

javascript - jQuery - 通过改变合并两个数组

jquery - 进入网站时默认链接处于事件状态

javascript - Node.js 服务器在本地工作,但由于缺少 `cleanModifiedSubpaths` 而无法在 Heroku 上工作

Javascript 闭包返回字符串而不是函数

javascript - 更有效的方法来完成这个?

php - 如何在javascript代码中写入php变量

javascript - 如何为除具有特定类的所有元素添加事件?

php - 合并 Zend Framework 的 jQuery AJAX 请求

php - 在多个页面上 POST 数据