Javascript 是下拉子菜单父菜单使链接在Opera和Chrome上不可点击 我试图用下拉式菜单制作一个网站。

Javascript 是下拉子菜单父菜单使链接在Opera和Chrome上不可点击 我试图用下拉式菜单制作一个网站。,javascript,html,css,zurb-foundation,Javascript,Html,Css,Zurb Foundation,但是我注意到,当我点击一些链接时,控制台上出现了一个错误 未捕获类型错误:t.getBoundingClientRect不是函数 at i (catalog-list-pack-d7c9d20e63.js:4) at Object.e [as ImNotTouchingYou] (catalog-list-pack-d7c9d20e63.js:4) at e.value (catalog-list-pack-d7c9d20e63.js:5) at HTMLLIElement.s (catalog

但是我注意到,当我点击一些链接时,控制台上出现了一个错误

未捕获类型错误:t.getBoundingClientRect不是函数

at i (catalog-list-pack-d7c9d20e63.js:4)
at Object.e [as ImNotTouchingYou] (catalog-list-pack-d7c9d20e63.js:4)
at e.value (catalog-list-pack-d7c9d20e63.js:5)
at HTMLLIElement.s (catalog-list-pack-d7c9d20e63.js:5)
at HTMLLIElement.dispatch (catalog-list-pack-d7c9d20e63.js:2)
at HTMLLIElement.y.handle (catalog-list-pack-d7c9d20e63.js:2)
这个代码是从基础上插入的插件。 我的调试让我得出结论,如果我删除类
is下拉子菜单parent
一切正常

这个类来自基金会,我担心我会把错误插入到其他地方,因为我不了解正在发生的事情。 另一件事——它不仅仅适用于Chrome和Opera。它适用于Mozzila,甚至适用于Microsoft Edge(新的Internet Explorer)

下面是关于如何创建下拉列表的代码

<div class="MegaMenu__row">
     <div class="MegaMenu__listColumn">
       <dt class="is-dropdown-submenu-parent MegaMenu__item MegaMenu__item--
           header MegaMenu__item--no-bullet">
           <a href="/somewhere</a>
       </dt>

有人能给我解释一下为什么在Opera和Chrome上js函数会中断吗?

如果它对任何人都有帮助,我们在与OP相同的浏览器上会遇到相同的错误,但在我们的例子中,当用户调整视口的大小时,这种错误就发生了

原因是一个下拉菜单没有相应的父菜单来触发它

例如:

<li data-toggle="someDropDown">
    <a href="#">OPEN DROPDOWN</a>
</li>

<div id="someDropDown" data-dropdown  data-resize="someDropDown" data-events="resize">
    <div>The dropdown</div>
</div>
  • 下拉列表
    这工作正常。如果从代码中删除第一个<代码> LI<代码>,则基础将在窗口调整大小时引发错误。


    换句话说,这是基金会6中的一个bug。它应该可以处理当下拉菜单订阅调整大小事件时,父对象丢失的情况。

    你有没有发现这个问题?没有……我只是想“不要修复它”。现在不是我的问题
    <li data-toggle="someDropDown">
        <a href="#">OPEN DROPDOWN</a>
    </li>
    
    <div id="someDropDown" data-dropdown  data-resize="someDropDown" data-events="resize">
        <div>The dropdown</div>
    </div>