Я пишу плагин jQuery для имитации редактируемого div.
Вот мой код:Событие смены текста ввода ввода
(function($){
$.fn.editable = function(){
return this.each(function(){
var $this = $(this).hide();
var div = $('<div>'+$this.val()+'</div>').show().insertAfter($this).data('input',$this);
$this.data('div',div);
div.dblclick(function(){
$(this).hide();
$(this).data('input').val($(this).text()).show();
});
$this.blur(function(){
$(this).hide();
$(this).data('div').html($(this).val()).show();
});
$this.change(function(){
$(this).data('div').html($(this).val());
});
});
};
})(jQuery);
До сих пор this works довольно хорошо ..
Теперь, что я хочу сделать, и не имею понятия, как, чтобы сделать изменения ДИВА текста, если скрытым изменение входных значений.
Значит, если я $('#editable').val('new text')
DIV должен изменить ..
Я не могу вызвать изменения событие вручную, так как изменение входного будет происходить в других плагинов, которые я не контролируем ..
Вы можете расширить, как вы ожидаете, '$ ('# редактируемые'). Вал()' для работы? Почему 'val()' в отличие от 'html()'? И какой элемент имеет id редактируемый? –
@palintropos обновил мой jsFiddle – skafandri
Как в стороне, посмотрели ли вы на 'contenteEditable'? Я считаю, что это довольно основательно. –