Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MouseDown事件在整个容器上不起作用_Javascript_Jquery_Mouseevent - Fatal编程技术网

Javascript MouseDown事件在整个容器上不起作用

Javascript MouseDown事件在整个容器上不起作用,javascript,jquery,mouseevent,Javascript,Jquery,Mouseevent,我的问题是,当右按钮中出现mousedown事件时,我需要检查是否存在div如果没有,则我的标志全局变量变为false,但我没有得到该条件 我的jQuery脚本如下所示 var flag = true; $(document).mousedown(function(event){ if( event.button == 2 ) { if ($(event.target).parent().is('.draggable')){

我的问题是,当右按钮中出现
mousedown
事件时,我需要检查是否存在
div
如果没有,则我的
标志
全局
变量
变为false,但我没有得到该条件

我的jQuery脚本如下所示

var flag = true;
   $(document).mousedown(function(event){
            if( event.button == 2 ) {
                if ($(event.target).parent().is('.draggable')){
                    $el = $(event.target).parent();
                    flag = true;    
                }else{
                 flag = false;          
            }   
        }
    });
jsp代码:

<div class="main">    
<div class="draggable" >
        <a href="#"><div class="inside"></div></a>

    </div>
</div>

试试这个,我想还需要一个家长。希望它能起作用。 因为几个月前我也遇到了同样的问题

$(document).mousedown(function(event){
                if( event.button == 2 ) {
                    if ($(event.target).parent().parent().is('.draggable')){
                        $el = $(event.target).parent().parent();
                        flag = true;    
                    }else{
                     flag = false;          
                }   
            }
        });

试试这个,我想还需要一个家长。希望它能起作用。 因为几个月前我也遇到了同样的问题

$(document).mousedown(function(event){
                if( event.button == 2 ) {
                    if ($(event.target).parent().parent().is('.draggable')){
                        $el = $(event.target).parent().parent();
                        flag = true;    
                    }else{
                     flag = false;          
                }   
            }
        });

试试这个,我想还需要一个家长。希望它能起作用。 因为几个月前我也遇到了同样的问题

$(document).mousedown(function(event){
                if( event.button == 2 ) {
                    if ($(event.target).parent().parent().is('.draggable')){
                        $el = $(event.target).parent().parent();
                        flag = true;    
                    }else{
                     flag = false;          
                }   
            }
        });

试试这个,我想还需要一个家长。希望它能起作用。 因为几个月前我也遇到了同样的问题

$(document).mousedown(function(event){
                if( event.button == 2 ) {
                    if ($(event.target).parent().parent().is('.draggable')){
                        $el = $(event.target).parent().parent();
                        flag = true;    
                    }else{
                     flag = false;          
                }   
            }
        });

我认为您需要的是使用最近的()方法,因为有时结构可能会不同

所以你的代码可能是

$('mousedown',function(event){
    var $draggable;
    if( event.which == 2 ) {
        $dragable = $(event.target).closest('.draggable');
        if ($dragable.length){
            $el = $dragable;
            flag = true;    
         }else{
             flag = false;          
         }   
    }
});
注意,event.which还规范化了按钮按下(mousedown和mouseupevents),报告1表示左按钮,2表示中间按钮,3表示右按钮。使用event.which代替event.button

编辑
使用
parent
方法意味着在这两者之间始终存在两个祖先。依赖严格的结构会导致代码僵化和容易出现错误。依我看,在这种情况下,使用
最接近的
方法代替
父级
是一种更好的方法。

我认为您需要的是使用最接近的()方法,因为有时结构可能不同

所以你的代码可能是

$('mousedown',function(event){
    var $draggable;
    if( event.which == 2 ) {
        $dragable = $(event.target).closest('.draggable');
        if ($dragable.length){
            $el = $dragable;
            flag = true;    
         }else{
             flag = false;          
         }   
    }
});
注意,event.which还规范化了按钮按下(mousedown和mouseupevents),报告1表示左按钮,2表示中间按钮,3表示右按钮。使用event.which代替event.button

编辑
使用
parent
方法意味着在这两者之间始终存在两个祖先。依赖严格的结构会导致代码僵化和容易出现错误。依我看,在这种情况下,使用
最接近的
方法代替
父级
是一种更好的方法。

我认为您需要的是使用最接近的()方法,因为有时结构可能不同

所以你的代码可能是

$('mousedown',function(event){
    var $draggable;
    if( event.which == 2 ) {
        $dragable = $(event.target).closest('.draggable');
        if ($dragable.length){
            $el = $dragable;
            flag = true;    
         }else{
             flag = false;          
         }   
    }
});
注意,event.which还规范化了按钮按下(mousedown和mouseupevents),报告1表示左按钮,2表示中间按钮,3表示右按钮。使用event.which代替event.button

编辑
使用
parent
方法意味着在这两者之间始终存在两个祖先。依赖严格的结构会导致代码僵化和容易出现错误。依我看,在这种情况下,使用
最接近的
方法代替
父级
是一种更好的方法。

我认为您需要的是使用最接近的()方法,因为有时结构可能不同

所以你的代码可能是

$('mousedown',function(event){
    var $draggable;
    if( event.which == 2 ) {
        $dragable = $(event.target).closest('.draggable');
        if ($dragable.length){
            $el = $dragable;
            flag = true;    
         }else{
             flag = false;          
         }   
    }
});
注意,event.which还规范化了按钮按下(mousedown和mouseupevents),报告1表示左按钮,2表示中间按钮,3表示右按钮。使用event.which代替event.button

编辑
使用
parent
方法意味着在这两者之间始终存在两个祖先。依赖严格的结构会导致代码僵化和容易出现错误。在这种情况下,使用
最近的
方法代替
父级
是一种更好的方法。

必须使用
事件阻止事件冒泡
:///code>。注意,event.which还规范化了按钮按下(mousedown和mouseupevents),报告1表示左按钮,2表示中间按钮,3表示右按钮。使用event.which代替event.button。您需要添加另一个父级div@patilharshal16你能放一些样本吗?必须用
event.stopPropagation()阻止事件冒泡
:/
。注意,event.which还规范化了按钮按下(mousedown和mouseupevents),报告1表示左按钮,2表示中间按钮,3表示右按钮。使用event.which代替event.button。您需要添加另一个父级div@patilharshal16你能放一些样本吗?必须用
event.stopPropagation()阻止事件冒泡
:/
。注意,event.which还规范化了按钮按下(mousedown和mouseupevents),报告1表示左按钮,2表示中间按钮,3表示右按钮。使用event.which代替event.button。您需要添加另一个父级div@patilharshal16你能放一些样本吗?必须用
event.stopPropagation()阻止事件冒泡
:/
。注意,event.which还规范化了按钮按下(mousedown和mouseupevents),报告1表示左按钮,2表示中间按钮,3表示右按钮。使用event.which代替event.button。您需要添加另一个父级div@patilharshal16你能放一些样品吗