如果输入没有改变,JS会阻止发射焦点事件

时间:2015-09-18 08:03:02

标签: javascript jquery html javascript-events

我有以下输入:

<input name="video" value="" type="text">

附上js事件:

input.focusout(function(){
        loadThumbnail();
    });

问题是当焦点离开场时它总是触发。实际上它是商品行为,但并不适合我的需求,因为如果用户没有更改字段,则会触发事件并在服务器上发出请求。

我已尝试将其替换为change事件,但在用户清理字段时它不会触发。

所以我需要的是在用户完成编辑字段后触发的事件,并在用户清理字段或将焦点移至/从中移动时检测案例,但不要更改任何内容。

你会建议一个解决方案吗?

2 个答案:

答案 0 :(得分:4)

尝试像这样保存值并将其与值进行比较

var oldVal = ''
input.focusout(function(){
    var newVal = input.val();
    if(oldVal != newVal)
    {
       oldVal = newVal;
       loadThumbnail();
    }
});

答案 1 :(得分:0)

尝试以下部分。你将不得不调整这个。我刚为U写了一个原始代码。

var temp='';
input.focusin(function(){
     temp = input.val();
    });


input.focusout(function(){
        if temp != input.val() then
            loadThumbnail();
    });