javascript - jqWidgets 中事件触发两次

标签 javascript jquery events jqwidget

为什么此事件会触发两次?

解决方法是检查 event.args,但事件仍会触发两次。

$('#input').jqxInput({
  width: 200,
  height: 25
});

var changedCount = 0;
$('#input').on('change', function(event) {
  console.log("changed");
  console.log(event.args != undefined)
  changedCount++;
  $("#log").html("total times fired: " + changedCount);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://jqwidgets.com/public/jqwidgets/styles/jqx.base.css" rel="stylesheet" />
<script src="http://jqwidgets.com/public/jqwidgets/jqx-all.js"></script>

<input id="input">
<div id='log'></div>

最佳答案

试试这个, Jsfiddle

尝试模糊,而不是更改

var changedCount = 0;
$('#input').on('blur', function(event) {
  console.log("changed");
  console.log(event.args != undefined)
  changedCount++;
  $("#log").html("total times fired: " + changedCount);
});

关于javascript - jqWidgets 中事件触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40038798/

相关文章:

javascript - 为什么 Mocha 不执行 .then 语句中的测试?

javascript - 传单中带有自定义控件的配置表单

javascript - 如何覆盖事件并仍然执行旧事件?

javascript - 如何获取 maxGraph 单元格内容的 ID

javascript - 单击我的 jQuery 事件后如何移动其他 div?

javascript - jQuery 性能 : Chain appends or append multiple arguments?

javascript - 除了第一行之外,有没有办法用 div 包裹内部文本?

jquery - 使用 MVC Ajax 更新局部 View 内的局部 View

javascript - 单击行后,从其他行中删除选定的类

Android:将触摸事件委托(delegate)给底层 View