編集可能なdivをシミュレートするjQueryプラグインを作成しています。今ハンドル入力テキスト変更イベント
(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かなりよく..
、私が何をしたいのか、そして隠された場合のdivのテキストの変更をすることですか、見当もつかない:ここでは
は私のコードです入力値が変化します。私はdiv要素を変更する必要があります$('#editable').val('new text')
..
をすれば入力の変化が、私がコントロールしていない他のプラグイン内で発生するので、
手段、私は私が提案し
あなたは '$( '#編集可能な')。valを()'仕事をすることを期待どのように展開することができますか?なぜ 'html()'ではなく 'val()'ですか?どの要素がIDを編集可能にしていますか? –
@palintroposは私のjsFiddleを更新しました – skafandri
あなたは 'contenteEditable'を調べましたか?私はかなり完全にサポートされていると信じています –