javascript对鼠标左中右键的捕捉情况
先测试click事件,下面是测试代码:
var addEvent = document.addEventListener ? function(el,type,fn){
el.addEventListener(type,fn,false);
}:function(el,type,fn){
el.attachEvent("on"+type,function(){
fn.call(el,window.event);
});
}
window.onload = function(){
addEvent(document,"click",function(e){
alert(e.button)
});
}
window.onload = function(){
addEvent(document.body,"click",function(e){
alert(e.button)
});
}
| 文档对象 | 元素节点 | |||||
|---|---|---|---|---|---|---|
| 左 | 中 | 右 | 左 | 中 | 右 | |
| IE8 | ○ | ○ | × | ○ | ○ | × |
| Firefox 3.6 | ○ | ○ | ○ | ○ | × | × |
| Chrome 8.0 | ○ | ○ | × | ○ | ○ | × |
| Opera 11.0 | ○ | × | × | ○ | × | × |
- 在元素节点部分,无论是document.body,div,input[type=button]并无区别
- IE8下无论是标准模式或怪异模式也没差异
- IE8无论你是用input还是button标签生成标签,结果都是一样
- 右键捕捉的失败,估计是被contextmenu事件劫持掉了
想全面地捕捉左中右键,估计只能使用正式的鼠标事件,如mousedown。
| 文档对象 | 元素节点 | |||||
|---|---|---|---|---|---|---|
| 左 | 中 | 右 | 左 | 中 | 右 | |
| IE8 | ○ | ○ | ○ | ○ | ○ | ○ |
| Firefox 3.6 | ○ | ○ | ○ | ○ | ○ | ○ |
| Chrome 8.0 | ○ | ○ | ○ | ○ | ○ | ○ |
| Opera 11.0 | ○ | ○ | ○ | ○ | ○ | ○ |
机器瞎学/数据掩埋/模式混淆/人工智障/深度遗忘/神经掉线/计算机幻觉/专注单身二十五年
浙公网安备 33010602011771号