Tôi đang cố gắng tạo bản chỉnh sửa nội tuyến đơn giản cho hộp div. Khi tôi dblclick trên div, i wrapInner với thẻ textarea. Điều đó làm cho nó có thể chỉnh sửa. Nhưng làm thế nào tôi có thể unwrap thẻ textarea khi tôi nhấp vào outsite lĩnh vực textarea. Dưới đây là những gì tôi có mà không phải là làm việc. Ngoài ra tôi có nên sử dụng tập trung, mouseout, mouseleave hoặc bất kỳ của họ.jquery unwrap Bên trong
<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>
Điều đó có tác dụng nhưng khi bạn đã ở trong vùng văn bản và bạn lại nhấp nháy, văn bản sẽ biến mất. Nó tạo ra một thể hiện khác trên textarea với mọi dblclick. – Hussein
Sau khi thử nghiệm này ra, nó không làm công việc trên unwrap. nó thực sự loại bỏ tất cả các thẻ con bên trong và không chỉ là textarea. Nếu chúng ta có thẻ span được bao quanh một từ, thì thẻ span sẽ bị xóa. – Hussein
@alex: bạn đang nói về các thẻ đã được nhập vào văn bản chưa? [Đây là một ví dụ được cập nhật.] (Http: // jsfiddle.net/drQkp/2 /) Nó cho phép HTML và không sử dụng bất kỳ loại phương thức 'wrap' nào. – user113716