मैं एक संपादन योग्य 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 पाठ परिवर्तन करने के लिए करता है, तो छिपा हुआ है:
यहाँ मेरी कोड है इनपुट मूल्य परिवर्तन।
मतलब, मैं परिवर्तन घटना मैन्युअल को गति प्रदान करता है, तो मैं $('#editable').val('new text')
div बदलना चाहिए ..
नहीं कर सकते, क्योंकि इनपुट परिवर्तन अन्य प्लग इन मैं नियंत्रण नहीं के भीतर हो जाएगा ..
आप आप कैसे उम्मीद कर सकते हैं पर विस्तार '$ ('# संपादन योग्य')। वैल()' काम करने के लिए? 'Html()' के विपरीत 'val()' क्यों? और आईडी किस संपादन योग्य है? –
@palintropos ने मेरे जेएसफ़िल्ड – skafandri
को एक तरफ अपडेट किया है, क्या आपने 'contenteEditable' में देखा है? मेरा मानना है कि यह बहुत अच्छी तरह से समर्थित है –