$(document).on("input",".SomeClass")适用于Chrome但不适用于IE

Ric*_*dMc 4 html javascript jquery internet-explorer google-chrome

我有一个带有contenteditable标签的span,我有一个用于检测输入的函数..

//TextArea
<span class="SomeClass" contenteditable></span>

//Function
$(document).on("input", ".SomeClass", function () {
    console.log("input entered");
});
Run Code Online (Sandbox Code Playgroud)

这适用于Chrome,但不适用于IE 11或更低版本.我似乎无法在网上找到任何提及它,并想知道是否有人可以给我如何使这项工作或更好的方法的信息.

谢谢

Jam*_*lly 6

这是IE10和IE11中报告的错误(#794285):contenteditable元素不会触发input事件.

解决方法是处理不同的事件类型input,例如keypress,pastechange:

$(document).on("input keypress paste change", ".SomeClass", function () {
    console.log("input entered");
});
Run Code Online (Sandbox Code Playgroud)

JSFiddle演示.

  • 嗯,这很不幸,嗯,这是一个充分的解决方案,谢谢.不是IE只是伟大的! (2认同)