jquery检查输入值是否已动态更改

时间:2014-08-14 07:19:33

标签: jquery

我必须实施以下问题。我有输入,如果其值已更改,我需要显示警告消息。但由于某些原因警报显示几次,无法弄清楚原因。这是第一个问题。

$("#input").bind("propertychange change paste input", function(){
    alert("Value has been changed");
});

第二个问题:

如何检查输入的值是否已动态更改。例如,如果我点击某个元素,则值会发生变化。

$("a").click(function(){
    $("#input").val("test");
})

这是我创建的fiddle

有什么想法吗?提前谢谢!

3 个答案:

答案 0 :(得分:5)

当动态更改输入值时,不会引发任何事件。您最好的选择是在更改值时手动引发事件:

$("a").click(function(){
    $("#input").val("test").trigger('change');
})

答案 1 :(得分:0)

没有任何事件,您必须使用trigger the change event

 $("a").click(function(){
    $("#input").val("test");
    $("#input").trigger("change");
})

DEMO

答案 2 :(得分:0)

当值动态变化值时,您应该将事件与元素绑定,请参阅下面的示例

$("a").click(function(){
    $("#input").val("test").change();
})