以编程方式更改textarea时,防止输入事件触发

时间:2016-05-08 02:39:29

标签: javascript html5

我有textarea可以由用户编辑。我偶尔会通过更改元素的value属性以编程方式更新文本。我需要一个在用户更改文本时触发的事件,但在程序更改时不会触发。这可能吗?

2 个答案:

答案 0 :(得分:1)

使用keyup作为事件触发器,允许用户活动触发该功能,但如果以编程方式执行则不会

addEvent(document.getElementById('textArea_id'), 'keyup', function(event) {
//function goes here
});

答案 1 :(得分:0)

您可以将'input'事件绑定到文本框。每次输入更改时都会触发,因此当您粘贴某些内容时(即使右键单击),删除并键入任何内容。

$('.bind').on('input', function() {
    // do something
});

如果您使用更改处理程序,则只有在用户取消选择输入框后才会触发。

这里有一个例子:https://jsfiddle.net/nanilab/qxv4n824/