javascript - JavaScript 中的事件

标签 javascript jquery

我想点击修改打开一个表单。我还希望当我单击表单外部时表单消失。当我为此使用 mouseleave 事件时,表单会自动打开和关闭,并且我无法填写表单。我不知道在这里使用哪个事件。

JS

$(document).ready(function() {
    $("#div1").load("compare-form-site.html");
});

$( ".m-search" ).click(function() {
    $( "#modify" ).show( "blind",700 );
    $( "#bank" ).hide();
    $( ".slider" ).hide();
    $( "#type" ).hide();
    $( "#sort" ).hide();
});

$(".m-search").mouseleave(function(){
    $('#modify').hide( );
});

HTML

<ul>
    <li class="m-search">
         Modify Search 
         <i class="fa fa-search-plus" aria-hidden="true">
         </i>
         <div id="modify" class="modify">
             <div id="div1">
             </div> 
         </div>
    </li>
  </ul>

最佳答案

您可以与目标元素进行比较,并检查您是在表单外部还是在表单内部单击。如果在外面,则隐藏表单。

$(document).on('click', function(e){
var $target = $('.modify');
if($target.is($(e.target)) && !$trigger.has(e.target).length) {

  $('.modify').hide();
}

})

关于javascript - JavaScript 中的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39785131/

相关文章:

JavaScript 将 mouseenter 事件传递给另一个元素下方的元素

jquery - 如何访问通过 AJAX 请求发布的 Ruby on Rails Controller 中的数据?

javascript - 我可以将助手传递给 Handlebars 函数吗?

javascript - 无法配置 jQuery 日期选择器来选择默认日期

javascript - 如何使用 jquery 使用垂直文本和内容切换垂直选项卡

javascript - 获取下拉列表中选定的项目不起作用

javascript - jQuery 仅获取此元素的父兄弟

javascript - 在 unbeforeunload 上更改 location.hash

javascript - 导致 infdig 的过滤器/函数

javascript - 当数据来自数据库时如何只选择一个复选框