1

我试图在右键单击元素时显示 Twitter Bootstrap 下拉菜单。这是我写的代码:

Javascript

var toggle = $('.dropdown-toggle');
toggle.on('contextmenu',function(e){
  toggle.dropdown('toggle');
  return false;
});

HTML

<div class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown trigger</a>
    <ul class="dropdown-menu">
        <li>Hello</li>
        <li>World</li>
    </ul>
</div>

这段代码在 Chrome 中运行良好,当我右键单击菜单时,菜单会正确显示,但在 Firefox 上,当我右键单击时,菜单会显示一秒钟然后消失。还有其他我需要处理的事件吗?

JSFiddle:http: //jsfiddle.net/Serff/3/

4

1 回答 1

1

消除

data-toggle="dropdown"

最终的 html 标记:

<div class="dropdown">
   <a class="dropdown-toggle" href="#">Dropdown trigger</a>
  <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
    <li>Hello</li>
    <li>World</li>
  </ul>
</div>

这应该有效。

使用这个脚本:

var toggle = $('.dropdown-toggle');
toggle.on('contextmenu',function(e){
  e.preventDefault();
  toggle.dropdown('toggle');
});
于 2013-03-25T08:43:58.353 回答