我有一个奇怪的问题,
我们通过ajax将内容加载到页面,响应包含一些带值
的输入标记<input type="text" value = "cédille" id="textField">
并在输入组件中添加了inputevent。事件应该在粘贴,切割时触发。
$("#textField").on('input',function(){...});
期望文本字段中的任何更改都必须触发输入事件侦听器。但是当输入值包含变音符号(如ä,é)时,事件会在加载页面时触发。
JS小提琴:https://jsfiddle.net/Subbu__S/qs7oz0g0/5/
仅在IE11中出现, 查看版本:11.0.49,11.0.50(可能在其他版本)
我非常感谢提供任何解决方案。
答案 0 :(得分:0)
我在使用JQuery自动完成功能时遇到了同样的问题,并且没有发现任何correct
的实现方式,因为它是浏览器错误。
$("#test").autocomplete({
//some code
select: function( event ) {
onSelectDoSomething();
return false;
}
});
因此,如果每次加载的输入onSelectDoSomething()
的值带有变音符号,就会调用#test
我添加了其他JavaScript值var test_click = false
,并且还添加了#test
点击事件。
所以看起来像这样
var test_click = false;
$( "#test" ).click(function() {
test_click = true;
});
$("#test").autocomplete({
//some code
select: function( event ) {
if(test_click) {
onSelectDoSomething();
}
return false;
}
});
这不是我建议的解决方案,但这是我可以想到的唯一解决方案,而不会降低IE的兼容性或切换浏览器。