jQuery mouseleave() 和 Mozilla 中的上下文菜单问题



在我的网站上,我有一个浮动的联系表单,单击图标后会显示。当鼠标离开联系表单时,它应该关闭。而且它工作正常。问题是,在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>

提前谢谢你!

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

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

最新更新