1. 程式人生 > >使用JavaScript為H5新增右擊事件

使用JavaScript為H5新增右擊事件

話不多說,直接上程式碼,其中需要注意的一點是為menu新增position: absolute;屬性,這個屬性的意思是選單採用絕對位置,可以保證右擊後選單出現在自己想要的位置,而不受其他元素的影響

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>選單</title>
		<style>
			#menu{
				display: none;
				width: 50px;
				border: solid black;
				position: absolute;
				background-color: aqua;
			}
			#list{
				width: 50px;
			}
		</style>
	</head>

	<body>
		<ol id="list" style="border: solid red;">
			<li>列表1</li>
			<li>列表2</li>
			<li>列表3</li>
			<li>列表4</li>
			<li>列表5</li>
		</ol>
		<div id="message">
		</div>
		
		<!--
        	作者:
[email protected]
時間:2018-11-05 描述:選單選項 --> <div id="menu"> <a href="#" onclick="alert('選單一')">選單一</a><br/> <a href="#" onclick="alert('選單二')">選單二</a><br/> <a href="#" onclick="alert('選單三')">選單三</a> </div> <script> var menu = document.getElementById("menu"); var list = document.getElementById("list"); var message = document.getElementById("message"); //為list新增右擊事件 list.oncontextmenu = function(e){ var e = e || window.event; var x = e.clientX; var y = e.clientY; message.innerHTML = "x="+x+",y="+y; menu.style.display = "block"; menu.style.left = x + "px"; menu.style.top = y + "px" return false; } //為視窗新增點選事件,當點選list外的區域時,選單消失 document.onclick = function(e){ var e = e || window.event; menu.style.display = "none"; } //點選選單時取消冒泡事件 menu.onclick = function(e){ var e = e || window.event; //IE中取消冒泡事件 //e.cancelBubble = true; //其他瀏覽器取消冒泡事件 e.stopPropagation(); } </script> </body> </html>