我通过jquery创建输入并在其上注册onInput处理程序。

$('body').append($('<input id="input1" class="test-input" type="text" value="X ř "/>'));
$('.test-input').on('input', function(){
    console.log('called onInput: ', $(this).attr('id'));
});

参见http://jsfiddle.net/1cmo1yko/13/。如果输入的值是带有变音符号的,则IE11调用onInput处理程序。如果没有变音符号,或者在其他浏览器(IE9,Chrome,Firefox)中,则不会调用该处理程序。

是虫子吗? (我认为是这样)。如果是错误,是在jquery中还是在IE11中?

谢谢。

最佳答案

好吧,回答您的问题:这似乎是IE中的错误,因为您可以在原始JS中重现相同的行为:

<input id="input1" class="test-input" type="text" value="X ř "/>

document.getElementById("input1").addEventListener('input', function() {
    console.log("Triggered!");
});

http://jsfiddle.net/1cmo1yko/16/

关于javascript - 使用变音符号(由jQuery创建的元素)创建具有值的输入后,IE11调用onInput处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26376520/

10-10 00:23