jQuery更改事件未正确触发
jQuery change event is not triggered correctly
我的输入值检测在Chrome中运行良好,但在Internet Explorer中,如果用户键入回车键,则不会触发"更改"事件。我如何使它在两种浏览器上都能工作,并防止事件在Chrome中触发两次?
js fiddel
HTML
<input type="text" class="price">
<h2></h2>
jQuery
var $input = $('.price');
$input.on('change', function(e) {
$('h2').text($(this).val());
//do other calculation
}).on('keyup', function(e) {
if(e.which != 13) return;
e.preventDefault();
$(this).trigger('change');
})
这已经是一个问题很长时间了,我不知道为什么jQuery不能自动处理它。如果浏览器支持onchange的回车键,似乎没有任何方法可以绕过两个事件,所以你只需要解决它:
$input.on('focus', function(e) {
this.calculationDone = false;
}).on('change', function(e) {
if (!this.calculationDone) {
calculationDone = true;
$('h2').text($(this).val());
console.log('done');
//do other calculation
}
}).on('keyup', function(e) {
if(e.which != 13) return;
e.preventDefault();
$(this).trigger('change');
})
相关文章:
- 选择onclick事件jquery
- 用于多个类事件Jquery的单个函数
- 激发滑块's幻灯片事件jquery ui
- 设置重复按钮以注册点击事件jquery
- 保留当前点击事件jquery
- 启动/停止按键事件jquery
- 在事件jquery中插入一个函数
- 删除克隆的事件JQuery
- typeahead选择事件(jQuery)的动态绑定
- 触发自定义事件 Jquery
- 绑定两次或更多次的事件 jquery
- 单击时的事件 jquery 不起作用
- 在鼠标悬停事件 jquery 上显示边框的内容
- 同时触发两个鼠标事件 jQuery
- 焦点事件 jquery 组合框/自动完成
- 如何在页面中捕获“正文”和“正文”事件[Jquery].
- 将对象传递给事件 jQuery
- 验证“取消”上的字段 单击Onbeforeunload事件JQUERY
- 复选框单击事件 jQuery 不起作用
- 口述事件jquery顺序