divボックス用の簡単なインライン編集を作成しようとしています。私がdivにdblclick、私はtextareaタグでwrapInner。それはそれを編集可能にする。しかし、テキストエリアフィールドを外にクリックすると、どのようにテキストエリアのタグを展開できますか?以下は私が働いていないものです。また、私は、focusout、mouseout、mouseleaveまたはそれらのいずれかを使用する必要があります。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>
これはうまくいきますが、既にテキストエリアの内側にいて、もう一度dblclickするとテキストが消えます。これは、すべてのdblclickでtextareaに別のインスタンスを作成しています。 – Hussein
これをテストした後、unwrapの作業は行われません。それは本当にテキストエリアだけでなく、内部のすべての子タグを削除しています。単語に囲まれたスパンタグがあれば、スパンタグは削除されます。 – Hussein
@alex:あなたは、テキストエリアに入力されたタグについて話していますか? [これは更新された例です。](http:// jsfiddle。net/drQkp/2 /)これはHTMLを許可し、 'wrap'タイプのメソッドを使用しません。 – user113716