搭建自己的base.js(2)-其他事件方法

获取鼠标按键

// 获取鼠标按键,
	getButton:function(event) {
		//DOM,先检测是否支持DOM鼠标事件
		if(document,implementation.hasFeature("MouseEvents","2.0")) {
			return event.button; //0主键,1滚轮,2次键
		} else {  //IE8及之前
			switch(event.button) {
				case 0:
				case 1:
				case 3:
				case 5:
				case 7:
					return 0;  //都按下了主键,有些结合其他键同时按
				case 2:
				case 6:
					return 2;  //次键
				case 4:
					return 1;  //滚轮
			}
		}
	},

  获取滚轮滚动差

// 获取鼠标滚轮
	getWheelDelta:function(event) {
		if(event.wheelDelta) {
			return (event.wheelDelta);  //120的倍数,滚轮向上滚为正,IE,Chrome
		} else {
			//firefox方向相反,且滚一次是3的倍数
			return -event.detail * 40;  
		}
	},

  获取键盘编码

// 获取键盘编码
	getCharCode:function(event) {
		if(typeof event.charCode == 'number') {
			return event.charCode;  //IE9,Firefox,Chrome
		} else {
			return event.keyCode;  //IE8
		}
	},

  获取剪切板文本

// 获取剪切板文本
	getClipboardText:function(event) {
		//IE保存在window中,
		var clipboardData = (event.clipboardData || window.clipboardData);
		return clipboardData.getData('text');
	},

  设置剪切板内容

// 设置剪切板内容
	setClipboardText:function(event,value) {
		if(event.clipboardData) {
			//Chrome,Safari,设置成功返回true,text/plan为数据类型
			return event.clipboardData.setData('text/plain',value);  
		} else if (window.clipboardData) {
			return window.clipboardData.setData('text',value);  //IE
		}
	}

  

原文地址:https://www.cnblogs.com/yoomin/p/3950891.html