我有一个带有contenteditable标签的跨度,并且有一个用于检测输入的功能。

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

//Function
$(document).on("input", ".SomeClass", function () {
    console.log("input entered");
});

这对我适用于Chrome,但不适用于IE 11或更低版本。
我似乎在网上找不到任何提及,并且想知道是否有人可以向我提供有关如何使该方法工作或提供更好方法的信息。

谢谢

最佳答案

这是IE10和IE11中的a reported bug (#794285):contenteditable元素不会触发input事件。

一种解决方法是与input一起处理不同的事件类型,例如keypresspastechange:

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

JSFiddle demo

10-05 20:52
查看更多