Вот мой код:
$('#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» больше не работает в третий раз, когда я ее вызываю (ДА В ТРЕТЬЕ ВРЕМЯ!). Однако, если я использую кнопку «ОК», чтобы закрыть диалоговое окно, оно работает нормально, независимо от того, сколько раз я его вызываю.
Я подумал, что нашел обходной путь, отсоединив и связав событие click для класса '.close' (вместо использования метода click jquery), как показано ниже:
dialog.data.find('.close').unbind('click');
dialog.data.find('.close').bind('click',function(){$.modal.close();});
и это сработало !!! к сожалению, однако, проблема теперь происходит в моей кнопке «ОК». Итак, я сделал то же самое связывание и связывание события click класса '.yes', как показано ниже:
dialog.data.find('.yes').unbind('click');
dialog.data.find('.yes').bind('click',
function() {
if ($.isFunction(callback)) callback.apply();
$.modal.close();
});
НО НЕТ, ЭТО НЕ РАБОТАЕТ .. пожалуйста, помогите мне ..
@ericmmartin, я надеюсь, ты сейчас в сети .. хаху ..
НОВОЕ НАБЛЮДЕНИЕ: Если я помещаю привязку / привязку класса «.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();
});
}
});
ПОЧЕМУ ОЙ ПОЧЕМУ?!