Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
使用鼠标&x27;单击';而不是';鼠标悬停在';事件,jquery_Jquery_Mousehover_Onmouseclick - Fatal编程技术网

使用鼠标&x27;单击';而不是';鼠标悬停在';事件,jquery

使用鼠标&x27;单击';而不是';鼠标悬停在';事件,jquery,jquery,mousehover,onmouseclick,Jquery,Mousehover,Onmouseclick,我有这个脚本,它可以很好地工作,但我需要使它在鼠标点击,而不是鼠标悬停工作 我试过了,但失败了。看起来很简单,但我搞不懂。有人能帮忙吗 代码是: $(".cat").hover(function(){ $(this).parent().parent().find(".sub_menu").hide(); }, function() { $(this).parent().parent().find(".sub_menu").show(); });` 下面的代码在ie中工作,而不是

我有这个脚本,它可以很好地工作,但我需要使它在鼠标点击,而不是鼠标悬停工作

我试过了,但失败了。看起来很简单,但我搞不懂。有人能帮忙吗

代码是:

$(".cat").hover(function(){
    $(this).parent().parent().find(".sub_menu").hide();
},
function() {
    $(this).parent().parent().find(".sub_menu").show();
});`
下面的代码在ie中工作,而不是在firefox中

$(".cat").on('click', function(){
    $(this).parent().parent().find(".sub_menu").toggle();
});
试试这个

$(".cat").on('click', function(e){
    e.preventDefault();
    $(this).parent().parent().find(".sub_menu").toggle();
});
如果HTML结构已知,可以使用
.closest()
替换.parent()


能否请您在问题中添加不起作用的代码?(点击标签下方的“编辑”按钮。)这意味着这个问题在将来仍然有用。Adeneo的解决方案在firefox中不起作用(在ie中也不起作用),所以我选择Sushanth的.closest()。谢谢
$(".cat").on('click', function(e){
    e.preventDefault();
    $(this).parent().parent().find(".sub_menu").toggle();
});
$(".cat").on('click', function(e){
        e.preventDefault();
        $(this).closest('.menu').find(".sub_menu").toggle();
 });