Почему событие размытия моей текстовой области не запускается до закрытия диалогового окна jQuery UI? - PullRequest
0 голосов
/ 18 июля 2011

У меня есть элемент textarea внутри модального диалога jquery, к которому прикреплен обработчик размытия.Код обработчика размытия правильно запускается в Chrome и Internet Explorer, когда происходит нажатие кнопки в диалоговом окне, которое вызывает $('#mydialog).dialog('destroy').remove();.

К сожалению, в Firefox этого не происходит!

Почему это может быть?

1 Ответ

0 голосов
/ 18 июля 2011

Мне удалось в конечном итоге решить проблему, используя setTimeout, чтобы обернуть код обработчика щелчка, что позволило достаточно времени для корректного срабатывания события размытия в текстовой области.

Полученный код былследующим образом:

var c = $('#mydialog'); setTimeout(function() {c.dialog('destroy').remove();}, 1);

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

...