Ich versuche, eine einfache Inline-Bearbeitung für eine Div-Box zu erstellen. Wenn ich auf das div klicke, wrapInner mit dem Textarea-Tag. Das macht es editierbar. Aber wie kann ich das Textarea-Tag auspacken, wenn ich außerhalb des Textfeldfelds klicke? Unten ist was ich habe was nicht funktioniert. Auch sollte ich focusout, mouseout, mouseleave oder irgendwelche von ihnen benutzen.jquery unwrap Inner
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<div id="test" style="width:300px; height:200px;">
testing
</div>
<script type="text/javascript">
$("#test").live({
dblclick: function() {
$("#test").wrapInner("<textarea/>")
},
mouseleave: function() {
$("#test > textarea").unwrap()
}
});
</script>
Das funktioniert, aber wenn Sie bereits im Textbereich sind und Sie erneut dbl klicken, verschwindet der Text. Es erstellt mit jedem Doppelklick eine weitere Instanz in textarea. – Hussein
Nach dem Austesten erledigt es die Arbeit an der Auspackung nicht. Es entfernt wirklich jedes Kind-Tag innerhalb und nicht nur Textarea. Wenn wir ein Span-Tag um ein Wort gewickelt haben, wird das Span-Tag entfernt. – Hussein
@alex: Sprichst du über Tags, die in das Textfeld eingegeben wurden? [Hier ist ein aktuelles Beispiel.] (Http: // jsfiddle.net/drQkp/2 /) Es erlaubt HTML und verwendet keine "wrap" Art von Methoden. – user113716