Вот мой код:SimpleModal клики перестали работать в IE7
$('#alertInfo').modal({
close :false,
overlayId :'confirmModalOverlay',
containerId :'confirmModalContainer',
onShow : function(dialog) {
dialog.data.find('.message').append(message);
dialog.data.find('.yes').click(function(){
if ($.isFunction(callback)) callback.apply();
$.modal.close();
});
dialog.data.find('.close').click(function(){
$.modal.close();
});
}
});
В основном, это диалоговое окно, которое я называю, чтобы показать предупреждающее сообщение, которое имеет кнопку «X» (с классом «закрыть») и кнопку «ОК» (с классом «да»).
Проблема возникает в IE7. Когда я вызываю это диалоговое окно и использую свою кнопку «X» для ее закрытия каждый раз, моя кнопка «X» больше не работает в третий раз, когда я ее вызываю (ДА В ТРЕТЬЕ ВРЕМЯ!). Однако, если я использую свою кнопку «ОК», чтобы закрыть диалоговое окно, он отлично работает независимо от того, сколько раз я его называю.
Я думал, что я нашел обходной путь развязывающего и связывающего мой клик случае «.close» класса (вместо того, чтобы использовать метод щелчка JQuery), как показано ниже:
dialog.data.find('.close').unbind('click');
dialog.data.find('.close').bind('click',function(){$.modal.close();});
и это сработало !!! К сожалению, проблема теперь возникает в моей кнопке «ОК». так, я сделал то же самое развязывание и связывание события щелчка класса».yes', как показано ниже:
dialog.data.find('.yes').unbind('click');
dialog.data.find('.yes').bind('click',
function() {
if ($.isFunction(callback)) callback.apply();
$.modal.close();
});
но нет, он не работает .. пожалуйста, помогите мне .. @ericmmartin, я надеюсь, вы сейчас на сайте .. huhu ..
NEW НАБЛЮДЕНИЕ: Если я помещаю развязывание/привязку класса '.close' перед классом '.yes', проблема возникает в моем «X» (с классом «. close '), как показано ниже:
$('#alertInfo').modal({
close :false,
overlayId :'confirmModalOverlay',
containerId :'confirmModalContainer',
onShow : function(dialog) {
dialog.data.find('.message').append(message);
dialog.data.find('.close').unbind('click');
dialog.data.find('.close').bind('click',
function(){
$.modal.close();
});
dialog.data.find('.yes').unbind('click');
dialog.data.find('.yes').bind('click',
function(){
if ($.isFunction(callback)) callback.apply();
$.modal.close();
});
}
});
ПОЧЕМУ ОГО ПОЧЕМУ ?!
спасибо за ответ .. я уже пробовал использовать «SimpleModal-закрыть» класс раньше, но не удалось заставить его работать. Должно быть, что-то не так с моими кодами, но пока не нашли проблему. Во всяком случае, я постараюсь реализовать тот, который вы только что предоставили. Спасибо за кучу! – prettynerd