Sto scrivendo un plug-in jQuery per simulare un div modificabile.
Ecco il mio codice:Gestire l'evento di modifica del testo di input
(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);
Finora, this works abbastanza bene ..
Ora, quello che voglio fare, e non hai idea di come, è quello di effettuare la modifica del testo div se il nascosto modifica del valore di input.
Means, se faccio $('#editable').val('new text')
il div dovrebbe cambiare ..
Non posso innescare cambiamento evento manualmente, perché il cambiamento di ingresso avverrà entro altri plugin che io non controllo ..
Si può espandere su come ci si aspetta '$ ('# modificabile'). Val()' per lavorare? Perché 'val()' al contrario di 'html()'? E quale elemento ha l'ID modificabile? –
@palintropos ha aggiornato il mio jsFiddle – skafandri
Come parte, hai esaminato 'contenteEditable'? Credo che sia supportato in maniera abbastanza approfondita –