当Textarea值以编程方式更新时,Jquery change()不起作用

时间:2014-11-21 15:38:55

标签: jquery

当我的textarea值以编程方式更改时,我如何检查我的textarea值是否已更改? 这是我的代码:

HTML:

#1<textarea id="txt1"></textarea><br>
#2<textarea id="txt2"></textarea>

jQuery的:

$("#txt2").live("keyup", function () {
    $("#txt1").text($("#txt2").val())
});

// not working
$("#txt1").live("input change propertychange", function () {
    alert('changed');
});
// not working
$('#txt1').change(function () {
    alert('changed');
});

JSFIDDLE

此外,我无法更改TextArea#2代码以添加触发器等。

更新

好的,现在我使用Jquery 1.7.2并将.live替换为.on但问题未解决! 请注意我的意思是当你在Textarea#2中键入消息&#34;更改&#34;因为Textarea#1值发生变化而显示出来。

JSFIDDLE

1 个答案:

答案 0 :(得分:0)

&#34;从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。旧版jQuery的用户应该使用.delegate()而不是.live()。&#34;

Source

翻译:将.live(...替换为.on(...,它应解决问题。

修改

我看到你的小提琴设置为jQuery 1.6.4。除非您可以升级,否则请使用.delegate(),这不是直接替换。