2012-02-15 3 views
11

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

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

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

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

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

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

+1

Почему бы вам не использовать $ ('# inp ut-id '). trigger (' blur ') в вашем случае? Поскольку он работает и, вероятно, будет самым простым способом, сделайте это. –

+1

$ ('# input-id'). Trigger ('blur'); является рабочим решением. –

ответ

3

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

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

+4

Что делать, если есть только один элемент? – rakslice

4

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

4

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

$('body').focus(); 
13

Если вы представляете себе быстрый Javascript хак вы можете использовать:

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

+0

Кто-то, пожалуйста, объясните магию. :/ –

+1

Селектор ': focus' находит элемент, который в настоящее время сфокусирован, а затем размытие снимает фокус с элемента, тем самым вызывая функцию« focusout » –

0

Я использовал это без необходимости выполнения JavaScript в водитель селена:

field.send_keys :tab 
Смежные вопросы