可能重复:
How to detect right mouse click + paste using JavaScript?
如果在任何人粘贴后右键点击然后粘贴,如何捕获事件? 我想在右键单击并粘贴后在文本框中粘贴任何内容时发出警报。 在javascript中有没有办法知道右键单击和粘贴?
答案 0 :(得分:3)
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
}
这是一个旧的Netscape属性。左键给出值1,中间按钮(鼠标滚轮)给出2,右键给出3. W3C和微软碰巧同意这个,给右键2值。 e.which和e.button的组合用于Mozilla e.button,按住Ctrl键单击值为2.
答案 1 :(得分:2)
$("#pasteable").on('paste',function(event){
setTimeout(function(){
alert($("#pasteable").val());
},100);
});
答案 2 :(得分:2)
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的情况下检测粘贴事件的答案。
答案 3 :(得分:0)
捕获正常点击事件(例如,使用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。
答案 4 :(得分:0)
看看这个
http://jsfiddle.net/uUqrF/ enter link description here
添加了keydown事件来处理特定场景,
e.g。如果您右键单击文本框,然后尝试从ctrl + v粘贴
在这种情况下,粘贴事件也会检测此粘贴。
答案 5 :(得分:-1)
使用事件属性
检查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文档,做一点google