我希望能够编写代码来(单独)响应以下事件:
Javascript中是否有内置的方法可以响应这些事件,还是需要使用库(最好是jQuery)?
答案 0 :(得分:3)
Quirks模式有a decent guide,它更复杂,需要由于浏览器的差异。
我需要使用库(最好是jQuery)吗?
JavaScript库无法做任何你自己无法做到的事情;他们只是更容易做一些事情。
答案 1 :(得分:1)
$('#your_element').mousedown(function(event) {
switch (event.which)
{
case 1:
// left mouse
break;
case 2:
// middle mouse
break;
case 3:
// right mouse
break;
default:
// some sort of bizarre mouse! fallback
break;
}
});
答案 2 :(得分:1)
这是我使用的功能:
var ieButtons = { "1": "left", "2": "right", "3": "leftright", "4": "middle" };
function getMouseButton(evt) {
if (typeof evt.which == "number") {
// Non-IE case. Works in everything apart from Opera < 8
return (evt.which < 2) ? "left" :
( (evt.which == 2) ? "middle" : "right" );
} else {
// IE case
return ieButtons[evt.button] || "unknown";
}
}
document.onmousedown = function(evt) {
evt = evt || window.event;
window.alert( getMouseButton(evt) );
};
Jan Wolter关于鼠标事件的文章似乎不如他在关键事件上的知名度高,但同样出色,并将quirksmode敲入一个竖起的帽子:http://unixpapa.com/js/mouse.html
刚刚查看了jQuery代码,它看起来好像正确地规范了事件的which
属性(左边1个,中间2个,右边3个),虽然没有IE报告多个的好功能同时按下按钮。
答案 3 :(得分:-1)
:onclick event 来自MSDN:button property