模态在IE9中不起作用 - 在打开开发人员工具时,它可以正常工作

Modal not working in IE9 - on opening developer tools it then works fine

本文关键字:工作 常工作 工具 不起作用 IE9 开发 模态      更新时间:2023-09-26

我一直在尝试让模态工作,在所有测试的浏览器上似乎都很好,除了 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 &#8211; cream, grey                                         <p>&#163;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');
});

控制台.log当控制台未在IE中打开时引发错误。

注释掉控制台行或检查支持

window.console && console.log(elementClicked);

我知道这是一个古老的线程,但我想无论如何我都会传递这个解决方案。

为了避免IE的问题,如@epascarello所述,我们使用一个名为ltc(日志到控制台)的函数,该函数位于我们的全局.js库中。

function ltc(what) {
  try {
    console.log(what); 
  } catch(e) {
    return;
  }
}

现在不是使用console.log("my message"),而是简单地ltc("my message");