【问题标题】:detect event from $("input").val() and then run function js [duplicate]从 $("input").val() 检测事件,然后运行函数 js [重复]
【发布时间】:2018-10-05 05:50:31
【问题描述】:

我想用“on”识别一个函数事件,然后运行console.log,但是input、keyup、keydown或change不会调用这个更改。

我有写功能。

function write(){
  $("input").val("1");
}

然后是这个用于检查事件的查询:

$("input").on("change",function(){
  console.log('input changed!');
});

write();//it doesnt get the change function

自定义 HTML:

<input type="text">

原因是我想用自定义 js 键盘输入值(这就是我不能使用 keyup 或 keydown 的原因)但我无法从 jquery 获取 .val() 事件。

【问题讨论】:

  • IIRC,“更改”事件在输入失去焦点之前不会触发。也许您的“自定义 js 键盘”应该发出事件?

标签: javascript jquery


【解决方案1】:

您必须在设置.val 后触发事件 - 当您在代码中更改它时,jQuery 不会自动触发事件。

function write(){
  $("input").val("1").trigger("change");
}

$("input").on("change",function(){
  console.log('input changed!');
});

write();//it doesnt get the change function
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">

【讨论】:

  • 这是我一直在寻找的答案,我不知道它是重复的,因为我不知道如何准确地提出这个问题,但谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-29
  • 2014-09-25
  • 2016-06-22
  • 1970-01-01
相关资源
最近更新 更多