如何使用jQuery得到单击的鼠标按钮? css
$('div').bind('click', function(){ alert('clicked'); });
这是由鼠标右键和鼠标左键触发的,能捕捉鼠标右键的方式是什么? 若是如下内容存在,我将很高兴: html
$('div').bind('rightclick', function(){ alert('right mouse button is pressed'); });
$.event.special.rightclick = { bindType: "contextmenu", delegateType: "contextmenu" }; $(document).on("rightclick", "div", function() { console.log("hello"); return false; });
http://jsfiddle.net/SRX3y/8/ jquery
$("#element").live('click', function(e) { if( (!$.browser.msie && e.button == 0) || ($.browser.msie && e.button == 1) ) { alert("Left Button"); } else if(e.button == 2){ alert("Right Button"); } });
更新事物的当前状态: ajax
var $log = $("div.log"); $("div.target").on("mousedown", function() { $log.text("Which: " + event.which); if (event.which === 1) { $(this).removeClass("right middle").addClass("left"); } else if (event.which === 2) { $(this).removeClass("left right").addClass("middle"); } else if (event.which === 3) { $(this).removeClass("left middle").addClass("right"); } });
div.target { border: 1px solid blue; height: 100px; width: 100px; } div.target.left { background-color: #0faf3d; } div.target.right { background-color: #f093df; } div.target.middle { background-color: #00afd3; } div.log { text-align: left; color: #f00; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="target"></div> <div class="log"></div>
有不少很是好的答案,可是我只想在使用event.button
时event.button
IE9和IE <9之间的一个主要区别。 api
根据旧的Microsoft event.button
规范,该代码与W3C使用的代码不一样。 W3C仅考虑3种状况: ide
event.button === 1
event.button === 3
event.button === 2
可是,在较旧的Internet Explorer中,Microsoft稍微按下了按钮,有8种状况: this
event.button === 0
或000 event.button === 1
或001 event.button === 2
或010 event.button === 3
或011 event.button === 4
或100 event.button === 5
或101 event.button === 6
或110 event.button === 7
或111 尽管从理论上讲这是应该起做用的事实,可是Internet Explorer从未支持过同时按下两个或三个按钮的状况。 我之因此提到它,是由于W3C标准甚至在理论上都没法支持这一点。 google
$(document).ready(function () { var resizing = false; var frame = $("#frame"); var origHeightFrame = frame.height(); var origwidthFrame = frame.width(); var origPosYGrip = $("#frame-grip").offset().top; var origPosXGrip = $("#frame-grip").offset().left; var gripHeight = $("#frame-grip").height(); var gripWidth = $("#frame-grip").width(); $("#frame-grip").mouseup(function (e) { resizing = false; }); $("#frame-grip").mousedown(function (e) { resizing = true; }); document.onmousemove = getMousepoints; var mousex = 0, mousey = 0, scrollTop = 0, scrollLeft = 0; function getMousepoints() { if (resizing) { var MouseBtnClick = event.which; if (MouseBtnClick == 1) { scrollTop = document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop; scrollLeft = document.documentElement ? document.documentElement.scrollLeft : document.body.scrollLeft; mousex = event.clientX + scrollLeft; mousey = event.clientY + scrollTop; frame.height(mousey); frame.width(mousex); } else { resizing = false; } } return true; } });
你能够很容易地分辨哪个鼠标按键被检查按下which
鼠标事件的事件对象的属性: spa
/* 1 = Left mouse button 2 = Centre mouse button 3 = Right mouse button */ $([selector]).mousedown(function(e) { if (e.which === 3) { /* Right mouse button was clicked! */ } });