【问题标题】:Listening to value change of textarea [duplicate]收听textarea的值变化[重复]
【发布时间】:2014-09-26 00:48:14
【问题描述】:

我有一个动态改变值的文本区域。例如在这样的事件上:

$('textarea').click(function(){
   $(this).val('some value');
}); 

我想在每次值更改时提醒:

$('textarea').on("input propertychange",function(){
    alert('he');
});

这不起作用。我还尝试了 Jquery changedocument.querySelector('textarea').addEventListener('propertychange' 以及其他似乎没有任何功能的东西。我还能尝试什么?

Example at JsFiddle

【问题讨论】:

  • 对我来说工作得很好> jsfiddle.net/e4e38kmm
  • 据我所知,程序更改不会触发任何事件。您可以手动完成:$(this).val('some value').trigger("change");
  • @James G 像 $('textarea').val('value'); 这样动态添加一些值,你会发现它不起作用
  • 手动触发事件处理程序是唯一的方法,除了可怕的间隔或类似的东西。
  • @Youss — Ninsly 已经为您提供了该答案中的相关代码,其形式与您现有的代码“兼容”。

标签: javascript jquery textarea


【解决方案1】:

如果我记得,有一个 keyup 功能可以使用。像这样的:

$('#something').keyup(function(){
   //do what you want
  });

我也发现了这个,我认为您可以从这里的答案中受益: Detecting input change in jQuery?

【讨论】:

  • 这不是动态增值,而是在keyup上...
  • keyup 事件不会检测 JavaScript 何时更改字段的值(如果我们注意您的答案的仅链接部分,输入事件也不会检测)。这个失败的演示:jsfiddle.net/1h8j2dqm
猜你喜欢
  • 1970-01-01
  • 2020-05-30
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
  • 2018-11-01
  • 1970-01-01
相关资源
最近更新 更多