#javascript #jquery #html #css
#javascript #jquery #HTML #css
Вопрос:
Как и в вопросе, я пытаюсь зафиксировать щелчок в текстовом поле, которое отключено.
Возможно, есть лучший способ сделать это, но прямо сейчас я его не знаю. В принципе, у меня есть текстовое поле, которое отключено, находясь в div. Это просто заполнитель. У меня есть событие, которое фиксирует щелчок в любом месте внутри родительского div. Поскольку текстовое поле отключено, это не работает.
Кто-нибудь знает способ либо:
- Оставьте текстовое поле включенным, но не разрешайте пользователю вводить какие-либо входные данные или отображать курсор. (По сути, сделайте это просто статическим текстовым полем, с которым пользователь вообще не может взаимодействовать)
или
- Отключите текстовое поле, как я сейчас, но продолжайте фиксировать события щелчка.
Вот как выглядит ввод:
<li id="test_id" class="selected">
<label id="" for=""> Untitled</label>
<input id="text" type="textbox" name="default" disabled="disabled">
<div class="field_actions">
<span class="propertiesTip"></span>
</li>
и вот как выглядит обработчик события щелчка:
$('#parent').on('click' , 'li, label, textbox', function (event) { /*...*/ }
Это обрабатывает щелчок в любом месте внутри div. Это не работает в текстовом поле, если оно отключено. Кто-нибудь сталкивался с этим раньше и у него есть решение? Заранее спасибо
Ответ №1:
Я знаю, что это упоминалось, но я бы использовал только для чтения. Вы можете использовать CSS, чтобы придать ему вид отключенного и даже изменить курсор на любой, который вы хотите, вот так:
input.myDisabledInput {
color: grey;
background-color: lightgray;
cursor:default
}
Комментарии:
1. Я могу ошибаться, но я думаю, что я прав, заявляя: отключенные значения НЕ отправляются при отправке формы. Значения, доступные только для чтения, отправляются при отправке формы. итак, разное поведение… вы должны быть в курсе о них.
Ответ №2:
Вместо отключения сделайте его доступным только для чтения.
Комментарии:
1. Проблема в том, что это все еще выглядит так, как будто пользователь может ввести входное значение. Появляется курсор. Есть ли способ отключить это поведение?
2. Затем запустите
blur
событие на флажке, когда оно получит фокус.$(your_input).focus(function() { $(this).blur(); });
3. Можете ли вы переопределить курсор с помощью CSS? Присвоите текстовой области другой класс, пока она доступна только для чтения, в CSS определите этот класс как тот, у которого будет другой курсор. Когда текстовая область включена, удалите этот класс, чтобы он выглядел как обычный элемент ввода.