亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在JavaScript中禁用右鍵單擊上下文菜單

如何在JavaScript中禁用右鍵單擊上下文菜單

肥皂起泡泡 2019-12-25 10:57:26
這并不是說我要防止“查看源代碼”或類似的愚蠢行為,而是要為某些元素制作一些自定義上下文菜單。編輯:答案的答復:我已經嘗試過:<a id="moo" href=''> </a><script type="text/javascript">    var moo = document.getElementById('moo');    function handler(event) {        event = event || window.event;        if (event.stopPropagation)            event.stopPropagation();        event.cancelBubble = true;        return false;    }    moo.innerHTML = 'right-click here';    moo.onclick = handler;    moo.onmousedown = handler;    moo.onmouseup = handler;</script>
查看完整描述

3 回答

?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

捕獲onContextMenu事件,然后在事件處理程序中返回false。

event.button無論如何,您也可以在某些瀏覽器中捕獲click事件并使用哪個鼠標按鈕觸發該事件。


查看完整回答
反對 回復 2019-12-25
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

如果您不希望每次嘗試右鍵單擊時都向用戶發出消息提醒,請嘗試將其添加到您的正文標簽中


<body oncontextmenu="return false;">

這將阻止所有對上下文菜單的訪問(不僅是鼠標右鍵,還有鍵盤)


但是,添加右鍵單擊禁用器確實沒有意義。具有瀏覽器基礎知識的任何人都可以查看源并提取所需的信息。


查看完整回答
反對 回復 2019-12-25
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

我用了這個:


document.onkeydown = keyboardDown;

document.onkeyup = keyboardUp;

document.oncontextmenu = function(e){

 var evt = new Object({keyCode:93});

 stopEvent(e);

 keyboardUp(evt);

}

function stopEvent(event){

 if(event.preventDefault != undefined)

  event.preventDefault();

 if(event.stopPropagation != undefined)

  event.stopPropagation();

}

function keyboardDown(e){

 ...

}

function keyboardUp(e){

 ...

}

然后,我在最后兩個函數中捕獲了e.keyCode屬性-如果e.keyCode == 93,我知道用戶可以釋放鼠標右鍵或按下/釋放上下文菜單鍵。


查看完整回答
反對 回復 2019-12-25
  • 3 回答
  • 0 關注
  • 460 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號