Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
无法在onclick事件中的特定情况下操作jQuery_Jquery_Html_Dom_Jquery Events - Fatal编程技术网

无法在onclick事件中的特定情况下操作jQuery

无法在onclick事件中的特定情况下操作jQuery,jquery,html,dom,jquery-events,Jquery,Html,Dom,Jquery Events,我有一种情况,当我点击里程碑链接时,它会取消隐藏一个下拉div,其中里程碑作为标题 我的要求是,当我在div中单击任何不应该隐藏的地方时。当我只在该div外单击时,它应该被隐藏。 当前的问题是,当我在div中单击时,它会被隐藏。 这里是图片的链接,仅供参考。 $(“#头项”)。在({//头中的任务列表 焦点:函数(){ $('#mileheader').attr(“class”,”); }, 模糊:函数(){ $(“#牛奶头”)。单击(函数(e){ 如果(e.target.id=='mile

我有一种情况,当我点击里程碑链接时,它会取消隐藏一个下拉div,其中里程碑作为标题

我的要求是,当我在div中单击任何不应该隐藏的地方时。当我只在该div外单击时,它应该被隐藏。 当前的问题是,当我在div中单击时,它会被隐藏。 这里是图片的链接,仅供参考。

$(“#头项”)。在({//头中的任务列表
焦点:函数(){
$('#mileheader').attr(“class”,”);
}, 
模糊:函数(){
$(“#牛奶头”)。单击(函数(e){
如果(e.target.id=='mileheader'){
$(#mileheader”).attr(“class”);
}否则{
$(“牛奶头”).attr(“类”、“隐藏”);
}
});

  • 不要认为这个答案是完美的,只是想找到一个快速的解决方案

    资源:


    同样,我不使用.attr来尝试删除单个类,因为它将删除该元素上的所有类。

    添加html代码或在JSFIDLE上创建示例。其余部分如上所述。如果可能,请添加带有css代码的完整页面。这样我就可以在than的基础上创建FIDLE,并为您提供示例“…$(“#mileheader”)。单击(函数(e){if(e.target.id=='mileheader'){…”。你看到函数只在点击#mileheader时触发了吗?那么e.target.id怎么可能不是“mileheader”呢?然后你删除了这个类?这里的逻辑很糟糕。代码还有很多其他问题。onclick事件并没有删除隐藏类。哦,你的意思是,如果你想在完成i单击链接不可见?我的意思是在将其取消隐藏后。当我单击未隐藏的分区时,它应保持可见,除非我在该分区外单击。告诉我有关您的问题。单击它不会取消隐藏。不要删除隐藏类
    jQuery(document).ready(function($) {
    
        $('#headermile').click(function(event) {
            event.preventDefault();
            $("#mileheader").removeClass("hide");
        });
    
        $(document).on('click', function(event) {
            var container = $("#mileheader");
            var button = $("#headermile");
            if (!container.is(event.target) && container.has(event.target).length === 0 && !button.is(event.target)) {
                $("#mileheader").addClass("hide");
            }
        });
    });