Подтвердить что ты не робот

Readonly div в CSS или JavaScript

Мне нужно сделать "только для чтения div" с помощью CSS или JavaScript или JQuery. Не только текстовое поле и все. Полный div. Этот div содержит что угодно (изображение, другой div, текстовое поле,...)

Это должно поддерживаться всеми браузерами.

Любая идея?

4b9b3361

Ответ 1

Вы можете использовать pointer-events: none;, чтобы отключить взаимодействие с DOM мыши (например, щелчок, наведение и т.д.). Пример:

div {
    pointer-events: none;
}
<div>
    <input type="text" value="value" />
    <br />
    <textarea>value</textarea>
</div>

Ответ 2

Вы не можете сделать это с помощью CSS, к сожалению, вы после атрибута readonly на HTML-элементах. Вы можете легко выполнить то, что хотите, используя JavaScript, вот пример с jQuery.

jsFiddle

HTML

<div class="readonly">
    <input type="text" />
    <div><input type="checkbox" /> Blah</div>
    <textarea>abc</textarea>
</div>

JavaScript

$(document).ready(function() {
    $('.readonly').find('input, textarea, select').attr('readonly', 'readonly');
});

Ответ 3

Я боюсь, вы не можете контролировать поведение элементов с помощью CSS.

CSS означает каскадные таблицы стилей - это только для элементов стиля.


Но вы можете использовать JavaScript.

Неподтвержденный jQuery пример выше:

$('#myDiv').children().attr('readonly', true);

Ответ 4

Просто попробуйте следующее:

Script Часть:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#previewDiv :input").attr("disabled", true); 
});
</script>

Часть HTML:

<div id="previewDiv">
<select>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
</select>
<input type="text" name="test" value="test">
</div>

Я думаю, это поможет вам решить вашу проблему.