我希望在用户编辑具有contenteditable属性的
内容时运行函数。相当于onchange事件的是什么?
我正在使用jQuery,因此任何使用jQuery的解决方案都是首选。谢谢!
我正在使用jQuery,因此任何使用jQuery的解决方案都是首选。谢谢!
看看这个想法。 http://pastie.org/1096892
我认为它很接近。HTML 5真的需要将change事件添加到规范中。唯一的问题是回调函数在$(this).html()实际更新内容之前评估if (before == $(this).html())。setTimeout不起作用,这很遗憾。让我知道你的想法。
基于 @balupton 的回答:
$(document).on('focus', '[contenteditable]', e => {
const self = $(e.target)
self.data('before', self.html())
})
$(document).on('blur', '[contenteditable]', e => {
const self = $(e.target)
if (self.data('before') !== self.html()) {
self.trigger('change')
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
document.getElementById("editor").oninput = function() { ...}
。 - Basj