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

时间:2018-01-31 14:00:02

标签: jquery events input internet-explorer-11 eventtrigger

我有一个奇怪的问题,

我们通过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(可能在其他版本)

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

1 个答案:

答案 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的兼容性或切换浏览器。