我一直试图让模态工作,除了IE9上的一个问题外,它在所有经过测试的浏览器上看起来都很好。在页面加载时,模态不起作用。如果我再打开开发工具并再次关闭它们(甚至只是让它们保持打开状态),它就能正常工作。我怎么能调试这个问题呢?
编辑:这是链接: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');
});
答案 0 :(得分:2)
console.log会引发错误。
注释掉控制台行或检查支持
window.console && console.log(elementClicked);
答案 1 :(得分:0)
我知道这是一个老话题,但我认为无论如何我都会传递这个解决方案。
为了避免IE的问题,正如@epascarello所提到的,我们使用一个名为ltc
的函数(登录到控制台),它位于我们的global.js库中。
function ltc(what) {
try {
console.log(what);
} catch(e) {
return;
}
}
现在不是使用console.log("my message")
,而是ltc("my message")
;