当值包含变音符号时,IE11 会触发输入事件



我有一个奇怪的问题,

我们通过 ajax 将内容加载到页面,响应包含一些带有值的输入标签

<input type="text" value = "cédille" id="textField">

并将输入事件添加到输入组件。事件应在粘贴,剪切时触发。

$("#textField").on('input',function(){...});

预期文本字段中的任何更改都必须触发输入事件侦听器。但是当输入值包含变音符号(如 ä,é(时加载页面时触发事件。

JS小提琴:https://jsfiddle.net/Subbu__S/qs7oz0g0/5/

仅在 IE11 中出现,已签入版本:11.0.49、11.0.50(可能是其他版本(

我非常感谢提供任何解决方案。

我在使用JQuery自动完成时遇到了同样的问题,并且没有找到任何correct方法,因为它是浏览器错误。

$("#test").autocomplete({
    //some code
    select: function( event ) {
        onSelectDoSomething();
        return false;
    }
});

因此,如果每个加载的输入#test具有带变音的值,则调用onSelectDoSomething()

我添加了额外的 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的兼容性或切换浏览器。

最新更新