Javascript 函数单击不处理右键单击li元素
当我按下右键单击时,右键单击菜单出现 出现右菜单,其中包含3个选项:Javascript 函数单击不处理右键单击li元素,javascript,jquery,html,Javascript,Jquery,Html,当我按下右键单击时,右键单击菜单出现 出现右菜单,其中包含3个选项: <ul class='custom-menu'> <li data-action = "first">First thing</li> <li data-action = "second">Second thing</li> <li data-action = "third">Third thing</li> </ul>
<ul class='custom-menu'>
<li data-action = "first">First thing</li>
<li data-action = "second">Second thing</li>
<li data-action = "third">Third thing</li>
</ul>
.自定义菜单{
显示:无;
z指数:1000;
位置:绝对位置;
背景色:fff;
边框:1px实心ddd;
溢出:隐藏;
宽度:120px;
空白:nowrap;
字体系列:无衬线;
-网络工具包盒阴影:2px2px7px0pxRGBA50,50,50,0.5;
-moz盒阴影:2px2px7px0pxrgba50,50,50,0.5;
盒影:2PX2PX7PX0PXRGBA50,50,50,0.5;
}
.定制菜单李{
填充物:5px10px;
}
.自定义菜单li:悬停{
背景色:4679BD;
光标:指针;
}
第一件事
第二件事
第三件事
您只需使用mouseup而不是mousedown,这样就可以在隐藏目标元素之前触发click事件:
$(document).on("mouseup", function() {
$(".custom-menu").hide(100);
});
//当我们要显示上下文菜单时,请显示我们自己的上下文菜单
$document.oncontextmenu,functionevent{
//如果这是链接,请避免使用真实的链接
如果$event.target.hassclasssim-row-edit{
违约事件;
//显示上下文菜单
$.custom-menu.show100。
css{
顶部:event.pageY+px,
左:event.pageX+px
};
}
};
//单击文档时隐藏上下文菜单
$document.onmouseup,函数{
$.custom-menu.hide100;
};
$自定义菜单li.clickfunction{
alerthii;
//这是触发的操作名称
切换$this.attrdata-action{
//每个行动的案例。应针对您的行动进行个性化设置
案例一:
console.logfirst;
打破
案例二:
console.logsecond;
打破
案例三:
控制台。第三;
打破
}
};
.自定义菜单{
显示:无;
z指数:1000;
位置:绝对位置;
背景色:fff;
边框:1px实心ddd;
溢出:隐藏;
宽度:120px;
空白:nowrap;
字体系列:无衬线;
-网络工具包盒阴影:2px2px7px0pxRGBA50,50,50,0.5;
-moz盒阴影:2px2px7px0pxrgba50,50,50,0.5;
盒影:2PX2PX7PX0PXRGBA50,50,50,0.5;
}
.定制菜单李{
填充物:5px10px;
}
.自定义菜单li:悬停{
背景色:4679BD;
光标:指针;
}
第一件事
第二件事
第三件事
您只需使用mouseup而不是mousedown,这样就可以在隐藏目标元素之前触发click事件:
$(document).on("mouseup", function() {
$(".custom-menu").hide(100);
});
//当我们要显示上下文菜单时,请显示我们自己的上下文菜单
$document.oncontextmenu,functionevent{
//如果这是链接,请避免使用真实的链接
如果$event.target.hassclasssim-row-edit{
违约事件;
//显示上下文菜单
$.custom-menu.show100。
css{
顶部:event.pageY+px,
左:event.pageX+px
};
}
};
//单击文档时隐藏上下文菜单
$document.onmouseup,函数{
$.custom-menu.hide100;
};
$自定义菜单li.clickfunction{
alerthii;
//这是触发的操作名称
切换$this.attrdata-action{
//每个行动的案例。应针对您的行动进行个性化设置
案例一:
console.logfirst;
打破
案例二:
console.logsecond;
打破
案例三:
控制台。第三;
打破
}
};
.自定义菜单{
显示:无;
z指数:1000;
位置:绝对位置;
背景色:fff;
边框:1px实心ddd;
溢出:隐藏;
宽度:120px;
空白:nowrap;
字体系列:无衬线;
-网络工具包盒阴影:2px2px7px0pxRGBA50,50,50,0.5;
-moz盒阴影:2px2px7px0pxrgba50,50,50,0.5;
盒影:2PX2PX7PX0PXRGBA50,50,50,0.5;
}
.定制菜单李{
填充物:5px10px;
}
.自定义菜单li:悬停{
背景色:4679BD;
光标:指针;
}
第一件事
第二件事
第三件事
我使用与动态元素相同的语法修复了它:
$document.onclick、.custom menu li、function{…我使用与动态元素相同的语法修复了它:
$document.onclick、.custom菜单li、function e{…当然可以,让我把我的代码弄一弄,2分钟可能是缓存问题,尝试清除它并再次检查,仍然是同一个问题,甚至不在隐姓埋名的情况下工作,你能在屏幕上分享一分钟吗,这是疯狂的事情,在正文末尾调用script.js,最初它是在jqueryGood工作的正下方问题绝对是yyes,让我来整理一下我的代码,2分钟可能是缓存问题,试图清除它并再次检查,仍然是同一个问题,甚至不在隐姓埋名的情况下工作,你能在屏幕上分享一分钟吗,这是疯狂的事情,在正文末尾调用script.js,最初它就在jqueryGood job y的正下方你已经发现了问题所在