У меня есть веб-приложение, где пользователи могут редактировать информацию своего профиля.Это представлено как обычная веб-форма с полями ввода, содержащими существующие значения:
<form action="<snipped>" method="post" accept-charset="UTF-8" id="frmEditUser">
<fieldset>
<p>
<label for="username">Username</label>
<input type="text" name="username" id="username" value="<?= $uname ?>" size="30" title="must be unique" size="30" />
<label for="username" generated="true" class="error">*<?= form_error('username'); ?></label>
</p>
</fieldset>
</form>
Есть еще поля, но эта упрощенная разметка показывает, что я ничего не делаю из ряда вон.Как в Safari, так и в Chrome (в Windows 7) я получаю очень странное поведение при попытке выбрать существующие значения в этих полях:
При выборе слева направо выделенный текст выделяется, как и ожидалось. Когда я помещаю курсор в конец поля и выбираю справа налево, после отпускания кнопки мыши выбор отменяется, и курсор снова садится в конец поля .
Эта проблема возникает во всех полях ввода и текстовых областях моего приложения, но только в Safari и Chrome.Я думал, что это может быть проблема с JavaScript, но проблема сохраняется при отключении всех JavaScript.Отключение всего CSS устраняет проблему.
Так что проблема в моем CSS.Я отключил все правила CSS, которые имеют отношение к формам или элементам формы, но проблема все еще остается.
Я надеялся, что есть такой странный шанс, что кто-то еще столкнулся с той же проблемой?
Обновление: проблема еще более детальная.Кажется, это происходит только в том случае, если я выбираю справа налево и в этом процессе зависания выхожу из поля на левом краю.Не выходите, как при щелчке снаружи, выходите, как при наведении на него, продолжая удерживать кнопку мыши для выбора.
Обновление II: я обнаружил корень проблемы.Это происходит при выборе справа налево и в этом процессе выбора выход из элемента формы, а не поля.Я добавил красную рамку вокруг элемента формы.Как только я выхожу с левой стороны, сделанный выбор исчезает.Если я добавляю отступ к элементу формы слева, это показывает, что выделение остается, пока я остаюсь внутри элемента формы.
Еще одна странная проблема, которую я хотел бы решить: (