我需要禁用鼠標右鍵點擊我的p5js畫布,所以它不會出現小屬性窗口,但它自己的右擊仍然可以用作eventlistener鍵。 如何實現這樣的事情?如何部分禁用JavaScript中的鼠標按鈕?
例如:(從收存箱)
感謝。
我需要禁用鼠標右鍵點擊我的p5js畫布,所以它不會出現小屬性窗口,但它自己的右擊仍然可以用作eventlistener鍵。 如何實現這樣的事情?如何部分禁用JavaScript中的鼠標按鈕?
例如:(從收存箱)
感謝。
您可以使用jQuery輕鬆截取它,並致電e.preventDefault()
。
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95,50,40,0,2*Math.PI);
ctx.stroke();
$("#myCanvas").on("contextmenu",function(e){
e.preventDefault();
// show your custom context menu here or what ever
console.log("event: right-click on canvas triggered");
})
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
</body>
</html>
您可以通過添加事件偵聽器,文本菜單實現這一點:
document.addEventListener("contextmenu", function(e) {
console.log('right click!');
e.preventDefault();
});
的一塊的console.log只是爲了說明它的工作。你可以建立自己的函數來創建一個不錯的上下文菜單。
e.preventDefault()是防止默認上下文菜單加載的原因。
document.addEventListener("contextmenu", function(e) {
console.log('right click!');
e.preventDefault();
});
Right click here!
我希望這有助於。
if (document.addEventListener) { // IE >= 9; other browsers
document.addEventListener('contextmenu', function(e) {
alert("You've tried to open context menu"); //here you draw your own menu
e.preventDefault();
}, false);
} else { // IE < 9
document.attachEvent('oncontextmenu', function() {
alert("You've tried to open context menu");
window.event.returnValue = false;
});
}
<body>
Lorem ipsum...
</body>
拿什麼部分禁用? – Legends