Helpex - Trao đổi & giúp đỡ Đăng nhập
11

I need to make a div layer so that when you click on it you will have your cursor there blinking and you can insert/delete text just like <input type="text"> does, except that I do not want to use it as it is slightly too limited to my case.

I can definitely use JavaScript.

11 hữu ích 0 bình luận 12k xem chia sẻ
15

DIV element has (other elements as well) contentEditable property that you can set in Javascript to true.

getElementById('YourDiv').contentEditable = true;
15 hữu ích 5 bình luận chia sẻ
5

You can make the div editable by setting its contentEditable attribute / property to true. However, for anything that is slightly more powerful or flexible then very basic editing, you might want to look at existing solutions such as:

5 hữu ích 0 bình luận chia sẻ
2

Jquery can be used like this:

$.('#yourDiv').click(function() {
    $(this).attr('contenteditable', 'true');
});
2 hữu ích 0 bình luận chia sẻ
1

I suggest you to use a textarea, and if that's not enough, use a WYSIWYG editor like tinyMCE or FCKeditor.

1 hữu ích 0 bình luận chia sẻ
0

as I understand your problem, you can resove it by adding textarea into your div. It is very simply to make this textarea autosize to occupy whole div area and looks like this div.

As for contentEditable, I have seen some browsers, supported this feature for div-element and does not. Anyway, you can use iframe in your div. It's document-element can have contentEditable.

0 hữu ích 0 bình luận chia sẻ
0

contenteditable attribute could be used for this purpose. Following code line has been tested in IE7 and Firefox 3.0.10. One part, I have noticed that this attribute should be used in lower case only; else it wont work in Firefox.

<div id="Div_ID" contenteditable="true" tabindex="0">
   Enter text here
</div>
0 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ javascript css html input , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading