可能重复:
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