我通过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/