鼠标左中右键返回值的兼容性问题

标准浏览器下鼠标左中右键返回值分别是0,1,2,但是IE8及以下版本浏览器返回的却是1,4,2,兼容代码如下

document.onmousedown = function(event){
	alert(getButton(event));
}
function getButton(event){
	evt = event || window.event;
	if(event){
		return event.button;
	}else{
	switch(evt.button){
		case 1:
			return 0;
		case 4:
			return 1;
		case 2:
			return 2;
		}
	}
}

由于event对象在IE8下是属于window对象的,所以只要判断是否存在event就能区分出IE是哪个版本下

时间: 2024-11-10 19:13:28

鼠标左中右键返回值的兼容性问题的相关文章

Asp.net MVC 中Controller返回值类型ActionResult

内容转自 http://blog.csdn.net/pasic/article/details/7110134 Asp.net MVC中Controller返回值类型 在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求: 必须是一个public方法 必须是实例方法 没有标志NonActionAttribute特性的(NoAction) 不能被重载 必须返回ActionResult类型 如: [csharp] view pl

java多线程之从任务中获取返回值

package wzh.test; import java.util.ArrayList; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; class TaskWithResult implements Callable<Strin

获取存储过程返回值及代码中获取返回值

获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @@IDENTITYENDEND 存储过程中获得方法: D

golang中省略返回值造成内存泄漏

我已经两次因为不恰当的省略go中的函数返回值,一次造成MySql的too many connection错误,一次造成严重的内存泄漏.所以在这里大家分享一下这个问题和解决办法,也提醒自己以后不要再犯类似的错了. 众所周知,go中的函数可以返回多个值.但很多时候我们并不需要所有的值,而且go中定义了一个变量必须使用才可以,不然会报错.所以对于不需要的返回值,一般的操作方法就是省略: for _,value := range slice{ //.... } 一个典型就是上面的range.range可

robot framework中的返回值

1.若想要再setup中有返回值,给后续的操作使用 A)在setup的关键词中需要的返回值,设置为global variable或者suit variable:如下图:但是在编译器中,会报错,但是执行之后会正常输出. 2)在关键词中的返回值,使用[return],使用该关键词,然后给返回值赋值为一个变量,该变量即可使用 3)若需要返回值不止一个,除了方法1中,将所有需要使用的值设置为全局变量之外,可以修改方法2 原文地址:https://www.cnblogs.com/xiaodouzhou-1

js中return返回值小练习

本文只是帮助初学者入门用的 关于js中的返回值return 如果函数中存在return,执行到了那行之后就直接跳出整个函数,接着向下执行 上例子 定义一个函数是否是偶数,如果是返回true,如果不是返回false? 我相信大多数才学的人会这样写 function isOu(num){ if(num%2==0){ return true }else{ return false } } 这样写不是不可以,只是有点啰嗦 因为num%2==0本身就是一个判断,所以 function isOu(num){

try--catch--finally中return返回值执行的顺序(区别)

1.try块中没有抛出异常,try.catch和finally块中都有return语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static int NoException(){          int i=10;          try{            System.out.println("i in try block is:"+i);            return --i;          }        

shell中函数返回值

1.前言 快半年没有写博客了,荒废了很久,工作中的杂事太多,自己越来越懒了.为了鞭策自己成长,还是要坚持写写博客,记录自己的成长. 2.shell函数介绍 语法: [ function ] funname [()] { action; [return int;] } 说明: (1)可以带function fun()  定义,也可以直接fun() 定义,不带任何参数. (2)参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. return后跟数值n(0-25

C语言中函数返回值的问题

c语言中有关于在函数返回值的问题,在函数中的局部变量主要是在栈上开辟的,出了函数变量就被回收了,针对函数返回值得问题,给出下面几个比较具体的例子来说明: 函数返回值是在函数中定义的局部变量 这类型的返回值在主函数中是可以使用的,因为返回局部变量值得时候,返回的是值得一个副本,而在主函数中我们需要的也只是这个值而已,因此是可以的,例如 int fun(char *arr) { int num = 0; while (*arr != '\\0') { num = num * 10 + *arr -