IE9中的黑客jquery手风琴

时间:2012-09-05 14:52:33

标签: jquery jquery-ui internet-explorer-9 jquery-ui-accordion

我正在用jquery的手风琴写一个嵌套菜单。 最多有2个级别的嵌套。 每个标题必须响应两个事件:

  1. 如果单击该区域的左侧一半,则选择项目
  2. 如果您单击该区域的右侧一半,则打开/关闭该项目并显示/隐藏子项
  3. 这两个事件是互斥的,每个事件都有自己的事件处理程序。

    HTML看起来像这样:

    <div class="accordion">
      <h3>
        <a href="#">
           <span>some text</span>
           <span>more text</span>
        </a>
        <div class="lightning-rod"></div>
      </h3>
      <div>
         <!-- content goes here -->
      </div>
    ...
    </div>
    

    .lightning-rod的div的样式使其覆盖元素的左半部分。处理程序绑定到“单击”事件,它处理选择。如果用户点击右侧,手风琴将捕捉到点击并进行孩子们的切换。

    这适用于chrome,但IE9给了我一些问题。 在IE9中:

    • 如果我点击右侧,jquery会处理切换并调用切换处理程序。
    • 如果我点击左侧,我的lightning-rod div会抓住点击并调用选择处理程序。
    • 如果我点击.lightning-rod div后面的元素内部的文本,我的处理程序都不会被调用,而jquery会切换子项

    我能为.lightning-rod div做些什么来优先于a元素并抓住点击,就像在chrome中一样?

    感谢

0 个答案:

没有答案