JavaScript實(shí)現(xiàn)點(diǎn)擊自制菜單效果
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)點(diǎn)擊自制菜單效果的具體代碼,供大家參考,具體內(nèi)容如下
應(yīng)用場景:當(dāng)我們希望用戶再點(diǎn)擊右鍵的時(shí)候不希望彈出瀏覽器的默認(rèn)菜單時(shí),需要阻止瀏覽器默認(rèn)行為,并執(zhí)行我們想要的效果
第一種方式,通過創(chuàng)建元素的方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body {
height: 3000px;
}
.menu {
width: 100px;
height: 280px;
background-color: red;
position: absolute;
left: 0;
top: 0;
display: none;
}
</style>
</head>
<body>
<script>
var Bon = true;
var menu = null;
document.oncontextmenu = function(event) {
if (Bon) {
menu = document.createElement("div");
menu.classList.add("menu");
document.body.appendChild(menu);
menu.style.left = event.pageX + "px";
menu.style.top = event.pageY + "px";
menu.style.display = "block";
Bon = false;
event.preventDefault();
} else {
menu.style.left = event.pageX + "px";
menu.style.top = event.pageY + "px";
event.preventDefault();
}
}
document.onmousedown = function(e) {
if (e.button == 0) {
var menu = document.querySelector(".menu");
document.body.removeChild(menu);
Bon = true;
}
}
</script>
</body>
</html>
第二種:通過隱藏元素的方式
<div class="menu"></div>
<script>
var menu = document.querySelector(".menu");
document.oncontextmenu = function(event) {
menu.style.left = event.pageX + "px";
menu.style.top = event.pageY + "px";
menu.style.display = "block";
event.preventDefault();
}
document.onmousedown = function(e) {
if (e.button == 0) {
menu.style.display = "none";
}
}
</script>
當(dāng)我們點(diǎn)擊右鍵時(shí)就不會(huì)彈出默認(rèn)的菜單了,彈出了我設(shè)置的紅框框。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js 下拉菜單點(diǎn)擊旁邊收起實(shí)現(xiàn)(踩坑記)
- js實(shí)現(xiàn)二級(jí)菜單點(diǎn)擊顯示當(dāng)前內(nèi)容效果
- JS實(shí)現(xiàn)點(diǎn)擊下拉菜單把選擇的內(nèi)容同步到input輸入框內(nèi)的實(shí)例
- 簡單實(shí)現(xiàn)js點(diǎn)擊展開二級(jí)菜單功能
- js實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊左上角滑動(dòng)菜單效果代碼
- js實(shí)現(xiàn)點(diǎn)擊向下展開的下拉菜單效果代碼
- CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時(shí)自動(dòng)關(guān)閉DIV層菜單的方法
- js菜單點(diǎn)擊顯示或隱藏效果的簡單實(shí)例
- Js點(diǎn)擊彈出下拉菜單效果實(shí)例
- 下拉菜單點(diǎn)擊實(shí)現(xiàn)連接跳轉(zhuǎn)功能的js代碼
相關(guān)文章
H5如何實(shí)現(xiàn)喚起APP及調(diào)試bug解決
這篇文章主要為大家介紹了H5如何實(shí)現(xiàn)喚起APP及調(diào)試bug解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
微信小程序?qū)崿F(xiàn)點(diǎn)擊卡片 翻轉(zhuǎn)效果
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)點(diǎn)擊卡片 翻轉(zhuǎn)效果本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
JavaScript簡單實(shí)現(xiàn)鼠標(biāo)拖動(dòng)選擇功能
本篇文章主要是對(duì)JavaScript簡單實(shí)現(xiàn)鼠標(biāo)拖動(dòng)選擇功能的示例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-03-03
微信小程序開發(fā)實(shí)戰(zhàn)教程之手勢解鎖
這篇文章主要介紹了微信小程序開發(fā)實(shí)戰(zhàn)教程之手勢解鎖的相關(guān)資料,本文分步驟給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
離開當(dāng)前頁面前使用js判斷條件提示是否要離開頁面
這篇文章主要介紹了離開當(dāng)前頁面前如何使用js判斷條件提示是否要離開頁面,需要的朋友可以參考下2014-05-05

