+
95
-

jquery如何实现点击某元素之外触发事件?

jquery如何实现点击某元素之外触发事件?

网友回复

+
15
-

使用closest方法。

closest() 方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上。

示例代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" />
    <title>BFW NEW PAGE</title>
    <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/jquery.17.js"></script>
    <script>
        $(function(){
            $("#menu").hide();
              $("#open").bind("click",function(e){
                  open();
              });
            $(document).bind("click",function(e){
                //id为menu的是菜单,id为open的是打开菜单的按钮            
                if($(e.target).closest("#menu").length == 0 && $(e.target).closest("#open").length == 0){
                //点击id为menu之外且id不是不是open,则触发
                    close();
                }
            })
        })
    
        function close(){
            $("#menu").hide();
            //close menu...
        }
    
        function ope...

点击查看剩余70%

我知道答案,我要回答