JQuery: когда я нажимаю div, дать фокус на текстовое поле
$('.my-button').click(function() {
$(".my-textbox").focus()
});
До Jquery 1.4 раньше это был способ вызвать фокус для текстового поля, теперь это не работает. Когда я нажимаю кнопку, я хочу вызвать фокус для текстового поля, что я подразумеваю под "фокусом", так это то, что я хочу, чтобы текстовое поле действовало так, как если бы оно было просто нажатым, чтобы пользователю не приходилось нажимать на текстовое поле.,
.focus
должен сделать автоматический клик на текстовое поле, я хочу его, почему он не работает сейчас? это сломалось в Jquery 1.4. Мне просто нужно знать, как это сделать.
3 ответа
Это все еще работает. Смотрите здесь.
ссылка: jQuery Фокус документы
Как уже упоминалось, вызов 'focus' для одного элемента может вызвать 'blur' для другого - поэтому вместо этого используйте 'focusin'.
Ваш код работает нормально для меня. Однако похоже, что вы пытаетесь создать кликабельную метку для элемента ввода. Если это так, то существует существующий элемент с именем <label>
это сделает работу за вас, JavaScript не требуется:
<label for="myTextBox">I'm a label, click me</label>
<input type="text" id="myTextBox" />
Пример: http://jsfiddle.net/pkk6y/
Это селекторы классов, а не идентификаторы - не уверен, что это актуально, но они по своей сути не уникальны - особенно в функции фокуса, jquery может просто отказаться - попробуйте использовать идентификаторы (и #mybutton, #mytextbox)
Обновление: страница документа jQuery указывает на проблемы с IE:
Событие фокуса не всплывает в Internet Explorer. Поэтому сценарии, которые полагаются на делегирование события с событием focus, не будут работать согласованно в разных браузерах.