可能重複:
How to detect right mouse click + paste using JavaScript?如何得到正確的單擊事件的JavaScript
如何捕獲事件時,任何人貼上後點擊鼠標右鍵,然後粘貼? 我想在任何人在右鍵單擊並粘貼後在文本框中粘貼任何內容時發出警報。 在JavaScript中有什麼方法可以知道右鍵單擊並粘貼?
可能重複:
How to detect right mouse click + paste using JavaScript?如何得到正確的單擊事件的JavaScript
如何捕獲事件時,任何人貼上後點擊鼠標右鍵,然後粘貼? 我想在任何人在右鍵單擊並粘貼後在文本框中粘貼任何內容時發出警報。 在JavaScript中有什麼方法可以知道右鍵單擊並粘貼?
$("#pasteable").on('paste',function(event){
setTimeout(function(){
alert($("#pasteable").val());
},100);
});
您在click事件鼠標按鍵使用事件屬性
$('#element').click(function(event) {
if (event.which==3) {
alert('Right mouse button pressed');
break;
}
});
更多的選擇讀this
使用jQuery的你,包括你的頭標記jQuery庫
<script type="text/javascript" src="jquery library path which you can download from jquery site or use google jquery library"></script>
你必須使用另一個<script>
標籤來寫你jquery
<script type="text/javascript"></script>
$(document).ready(function(){
$('#element').click(function(event) {
if (event.which==3) {
alert('Right mouse button pressed');
break;
}
});
});
<script type="text/javascript">
</script>
更多詳細閱讀jQuery的文檔,做一些谷歌
OP沒有問如何用jQuery來做到這一點。 – Purag 2011-12-30 09:32:15
最後我檢查了,jQuery也是Javascript。那改變了@Purag? – conradkdotcom 2014-08-17 18:20:34
@conradk哈哈,你挖出了一個非常古老的評論。我認爲我之前評論的原因是因爲OP可能沒有在相關頁面上包含jQuery,這需要一個vanilla JS解決方案。兩者都有用。 :) – Purag 2014-08-22 10:10:49
捕捉正常的單擊事件(例如,使用jQuery:$(node).click(function(ev){ ... })
和檢查which
屬性>= 2
:
$(node).click(function(ev){
if(ev.which >= 2){
// right click
}
});
注意的which
的確切值來檢測右鍵單擊基於瀏覽器的變化(但我認爲這是總是 2或3) 。有關更多詳細信息,請參閱http://www.quirksmode.org/js/events_properties.html。
var elem = document.getElementById("myID");
elem.onclick = function(event){
var event = event || window.event;
if(event.which === '3'){
// it was a right click
}
};
有您的純Javascript方法來檢測是否用鼠標右鍵單擊了一個元素。就像其他人已經指出的那樣,您可以使用jQuery來檢測粘貼事件。 Here是一個解釋如何在沒有jQuery的情況下檢測粘貼事件的答案。
document.onmousedown=doSomething;
function doSomething(e) {
var rightclick;
if (!e) var e = window.event;
if (e.which) rightclick = (e.which == 3);
else if (e.button) rightclick = (e.button == 2);
alert('Rightclick: ' + rightclick); // true or false
}
這是一箇舊的網景財產。左按鈕給出1的值,中按鈕(鼠標輪)給出2,右按鈕給出3.W3C和微軟碰巧在這一個上達成一致,並給出右鍵值爲2. e.which和e的組合。按鈕是用來和Mozilla e.button,對於CTRL單擊該值爲2
看一看這個
http://jsfiddle.net/uUqrF/enter link description here
添加keydown事件來處理特定的情況下,
例如如果你右鍵單擊文本框,然後嘗試從ctrl + v粘貼
在這種情況下,粘貼事件也檢測此粘貼。
右鍵點擊重要嗎?即你是否也想回應'Ctrl + v'(或'⌘+ v'),還是應該忽略? – PPvG 2011-12-30 09:29:37