Focusout() и триггер ( "focusout" ), не приводящий к потере фокуса

Я использую модальный диалог jQuery UI и заполняю его некоторыми полями формы. Из-за этой ошибки: http://bugs.jqueryui.com/ticket/4731, первый вход получает фокус при открытии диалога. Чтобы обойти это, я пытаюсь размыть затронутый вход, когда откроется диалог.

Проблема в том, что существует другая функциональность, которая вызывается для этого ввода на .blur(), и я не хочу запускать эту функцию для этого.

Итак, я пытаюсь использовать .focusout() и .trigger('focusout') для достижения такого же эффекта, но без результатов.

Выполнение любого из этих действий:

$('#input-id').focusout();
$('#input-id').trigger('focusout');

фактически не приводит к потере фокуса входа, где использование .blur() выполняется успешно. Я что-то упускаю, или есть другой способ выполнить то, что мне нужно?

Ответ 1

Мое предложение состояло в том, чтобы установить фокус на какой-либо другой элемент в диалоговом окне, когда он открывается, а не для разметки текстового поля. Это должно решить вашу проблему.

Надеюсь, что это поможет!

Ответ 2

Если вам посчастливится быстро взломать JavaScript, вы можете использовать:

$(':focus').blur();

Ответ 3

Фокус не приводит к тому, что элемент теряет фокус. Вместо этого фокусировка запускается, когда элемент теряет фокус. Проверьте http://api.jquery.com/focusout/

Ответ 4

Я использовал это как обходной путь:

$('body').focus();

Ответ 5

Я использовал это без необходимости запуска javascript в драйвере selenium:

field.send_keys :tab