2013-02-05 6 views
1

У меня есть DIV, который в классе = «модальный», и я написал функцию в JQuery, которая закрывает это Див, когда я нажимаю «УНК»:модальный кнопка закрытия

$(document).keypress(function (e) { 
    if (e.keyCode == 27) { 
     if ($('.modal:visible > .icon32').length) $('.modal:visible > .icon32')[0].click(); 
    } 
}); 

все отлично работает в Firefox , но в хроме нет, что может вызвать эту проблему?

+0

Совет. Попробуйте отладить еще один. Что не работает? Клавиша, keyCode, функция щелчка? Добавьте точку останова и выполните шаги или добавьте строки console.log, чтобы увидеть, где программа прерывается от ожидаемого маршрута. – Iftah

ответ

2

Я наблюдаю, что у клавиши есть проблемы с IE. используйте keydown Событие вместо этого. Событие keydown происходит, когда клавиша нажата. Сразу же после этого происходит нажатие клавиши. Когда вы отпускаете событие key keyup, происходит событие.

$(document).keydown(function (e) { 
    if (e.keyCode == 27) { 
     if ($('.modal:visible > .icon32').length) $('.modal:visible > .icon32')[0].click(); 
    } 
}); 
+0

Это правильное решение. У Chrome есть проблемы с обработкой 'keypress' по какой-то причине ... – vyakhir

+0

спасибо большое !!! – peter

Смежные вопросы