Я пытаюсь получить модальную работу, и она кажется прекрасной во всех проверенных браузерах, за исключением одной проблемы в IE9. При загрузке страницы модальность не работает. Если я затем открою инструменты dev и снова закрою их (или даже просто откройте их), он отлично работает. Как я могу отладить эту проблему?
Изменение: Здесь ссылка: http://dev.birddartmouth.co.uk
Вот мой код.
HTML:
<a href="#" class="item" data-reveal-id="292">
<img src="http://dev.birddartmouth.co.uk/wp-content/uploads/2013/10/096.jpg" />
</a>
<div id="292" class="reveal-modal">
<a href="#" class="close-reveal-modal"><i class="close icon close-reveal-modal"></i></a>
<div class="header">
Bow tie neck silk overlay top/dress with sequin hem – cream, grey <p>£0</p>
</div>
<div class="content">
<img src="http://dev.birddartmouth.co.uk/wp-content/uploads/2013/10/096.jpg" />
</div>
</div>
JS:
$( "a.item" ).click(function( event ) {
event.preventDefault();
var elementClicked = "#" + $(this).attr("data-reveal-id");
console.log(elementClicked);
$(elementClicked).foundation('reveal', 'open');
});
$( "a.close-reveal-modal" ).click(function( event ) {
event.preventDefault();
var openElementClicked = "#" + $(this).parent().attr("id");
console.log(openElementClicked);
$(openElementClicked).foundation('reveal', 'close');
});
console.log выдает ошибки, когда консоль не открыта в IE.
Прокомментируйте консольные строки или проверьте поддержку
window.console && console.log(elementClicked);
Я знаю, что это старый поток, но я подумал, что все равно пойду на это решение.
Чтобы избежать проблемы с IE, как упоминалось в @epascarello, мы используем функцию, называемую ltc
(log to console), которая находится в нашей библиотеке global.js.
function ltc(what) {
try {
console.log(what);
} catch(e) {
return;
}
}
Теперь вместо использования console.log("my message")
это просто ltc("my message")
;