В чем основное различие между ReadOnly и Enabled?

Причины, почему селекторы на основе id не работают

  1. Элемент / DOM с указанным идентификатором еще не существует.
  2. Элемент существует, но он не является зарегистрированный в DOM [в случае, если HTML-узлы динамически добавляются из ответов Ajax].
  3. Присутствует более одного элемента с тем же идентификатором, который вызывает конфликт.

Решения

  1. Попробуйте получить доступ к элементу после его объявления или, альтернативно, использовать такие вещи, как $(document).ready();
  2. . Для элементов, исходящих из ответов Ajax, используйте метод .bind() для jQuery. В старых версиях jQuery для этого было .live().
  3. Используйте инструменты [например, плагин webdeveloper для браузеров], чтобы найти дубликаты идентификаторов и удалить их.
28
задан Peter Mortensen 6 February 2013 в 12:45
поделиться

5 ответов

Как сказано в следующем сообщении на форуме:

В контексте TextBox, только чтение позволяет пользователю установить фокус и выделите и скопируйте текст, но не изменить его. Отключенное TextBox не разрешить любое взаимодействие.

Используйте только чтение, если у вас есть данные, вы хотите, чтобы пользователь видел и копировал, но не изменять. Использовать отключенное текстовое поле, когда отображаемые данные не применимо в текущем состояние диалога или окна.

Взято из: Форумы MSDN

33
ответ дан 28 November 2019 в 03:30
поделиться

Некоторые элементы управления, например кнопки, могут быть включены или отключены только. Отключенный элемент управления даст визуальную индикацию того, что с ним нельзя взаимодействовать прямо сейчас (обычно с помощью затенения / затухания). Другие также могут быть доступны только для чтения, поскольку с ними можно каким-то образом взаимодействовать , но не редактировать . Например, элемент управления вверх-вниз часто подобен этому, что означает, что вы можете нажимать кнопки, чтобы изменить значение, но не редактировать его при обычной печати. (Также возможно иметь элементы управления, с которыми вы никогда не сможете взаимодействовать, но которые по-прежнему полезны для отключения; метка все еще может быть серой, что указывает на то, что целая область графического интерфейса пользователя сейчас не используется, что более приятный визуальный эффект, чем просто изменение интерактивных элементов управления.)

Фактически всегда отключение подразумевает, что элемент управления также доступен только для чтения. Я видел несколько случаев, когда это не было правдой, и это всегда было для меня больше похоже на ошибку, чем на что-либо еще. Лучше всего рассматривать состояния как представляющие значение трех состояний, когда одно из состояний не используется для некоторых элементов управления.

1
ответ дан Donal Fellows 6 February 2013 в 12:45
поделиться

ReadOnly Обычно я связываюсь с TextBox или другим элементом управления, содержащим текст; он определяет, может ли пользователь изменять текст, отображаемый элементом управления. Пользователь по-прежнему может выбрать текст (например, чтобы скопировать и вставить его в другую программу).

Включено в основном определяет, возможно ли какое-либо взаимодействие пользователя с элементом управления. Например, кнопка с Enabled == false не может быть нажата; a CheckBox с Enabled == false нельзя переключать и т. д. Обратите внимание, что TextBox с Enabled == false также не может иметь своего выделенный текст (это будет взаимодействие с пользователем).

Кроме того, элементы управления с Enabled == false не вызывают событий, связанных с взаимодействием с пользователем, например Click .

3
ответ дан 28 November 2019 в 03:30
поделиться

Если вы возьмете текстовое поле с полосой прокрутки в качестве примера, ReadOnly не позволяет пользователю редактировать текст, но полоса прокрутки все еще активна (подумайте о лицензионных окнах в программах установки). Enabled = false приведет к отключению всего элемента управления, а не только области редактирования текста.

1
ответ дан 28 November 2019 в 03:30
поделиться

Включено указывает, разрешено ли взаимодействие с пользователем. Если элемент управления отключен, он не будет генерировать никаких событий пользовательского интерфейса.

ReadOnly определяет, может ли пользователь редактировать содержимое элемента управления. Например, текстовое поле ReadOnly нельзя редактировать, но вы все равно можете щелкнуть по нему, выбрать текст, содержащийся в нем, и т. Д.

2
ответ дан 28 November 2019 в 03:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: