У меня есть div с определенным классом, я делегировал ему событие click, чтобы при его нажатии я переключал его класс с другим и открывал диалог. Теперь, когда диалог закрывается, я переключаю класс divвернуться к оригиналу
Теперь к интересной части ... Если я нажму кнопку esc на клавиатуре, классы продолжат переключаться ... это происходит только в браузере Chrome
Инструкции по воспроизведению: В Chrome: нажмите на div -> откроется диалоговое окно -> закройте его -> начните нажимать кнопку esc - цвет div будет изменен при выполнении функции закрытия диалога (и это приведет к переключению классов div)
В FF и IE все работает нормально, проблем с выходом нет
Вот фрагмент кода js
$(document).ready(function() {
$(document).delegate(".dashboard_widget", "click", function(){
$(this).toggleClass('dashboard_widget').toggleClass('dashboard_widget_clicked');
showDialog();
});
});
function showDialog(){
$("#dialogID").dialog({
buttons: {
Close: function () {
$(this).dialog("close");
}
},
close: function (event, ui) {
$("#myID").toggleClass('dashboard_widget_clicked').toggleClass('dashboard_widget');
}
});
}
Я воспроизвел его в jsfiddle
Спасибо,
Даниэль.