Я хочу наблюдать за изменением элемента nodeValue элемента, отредактированного с помощью contenteditable. В принципе, я хочу запустить функцию при изменении значения nodevalue.jQuery: Наблюдение за изменением nodevalue
Я нашел этот пост: http://james.padolsey.com/javascript/monitoring-dom-properties/
который, кажется, есть плагин для того, что я хочу.
Вот часы плагин:
jQuery.fn.watch = function(id, fn) {
return this.each(function(){
var self = this;
var oldVal = self[id];
$(self).data(
'watch_timer',
setInterval(function(){
if (self[id] !== oldVal) {
fn.call(self, id, oldVal, self[id]);
oldVal = self[id];
}
}, 100)
);
});
return self;
};
В качестве примера, я могу смотреть значение входного как это:
$('#input').watch('value', function(propName, oldVal, newVal){
$("#text").text(newVal);
});
Но не nodevalue contenteditable (его содержание текста):
$('#ce').watch('nodeValue', function(propName, oldVal, newVal){
$("#text").text(newVal);
});
Вот живой пример:
Кто-нибудь знает, как адаптировать метод часов для работы с nodevalue. Благодаря!
Спасибо за ваше предложение. Проблема изменилась, для элементов div нет события изменения. Это означает, что скопированный и вставленный текст не будет сохранен. – Jourkey