【问题标题】:jQuery mouseleave() and context menu issue in MozillaMozilla 中的 jQuery mouseleave() 和上下文菜单问题
【发布时间】:2016-07-15 16:18:59
【问题描述】:

在我的网站上,我有一个浮动联系表单,单击图标后会显示该表单。当鼠标离开联系表格时,它应该关闭。它工作正常。 问题是,在 Mozilla 中,当人们想通过上下文菜单将文本粘贴到联系表单时,表单会关闭 - 我右键单击,想要选择“粘贴”,然后它会关闭。我应该如何更改我的 jQuery 函数以避免这种情况?该问题仅出现在 Mozilla 中。

还有我的 jQuery(可能写的很烂,我刚开始学习):

 <script type="text/javascript">
 jQuery(document).ready(function($){    
      $('#order-icon').click(function() {
           $('#floating-form').addClass("open");
      });

      $('#order-icon').mouseover(function() {
                $(this).addClass("hover");
      });

      $('#order-icon').mouseleave(function() {
           $(this).removeClass("hover");
      });

      $('#floating-form').mouseleave(function() {
           $(this).removeClass("open");
      });

      $('#floating-form').contextmenu(function() {
           $(this).addClass("open");
      });

      var body = $( 'body' );
 });
</script>

浮动形式结构:

     <div id="floating-form">
           <div id="order-form">
               <!-- contact form -->
           </div>
           <div id="order-icon">
               <!-- icon -->  
           </div>
      </div>

提前谢谢你!

【问题讨论】:

标签: jquery mouseleave


【解决方案1】:

支持所有浏览器(包括火狐):

<html oncontextmenu="menuShow(event)" contextmenu="floating-form">

<script>
function menuShow(e){
 e.preventDefault();
 $("#floating-form").addClass("open");
}
</script>

【讨论】:

  • 如果我理解 OP 正确,上下文菜单应该打开,以便用户可以使用它将数据粘贴到表单字段中。
  • 是的,@t.niese 是对的。不幸的是,这段代码对我不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 1970-01-01
  • 2011-04-13
  • 2012-01-01
相关资源
最近更新 更多