JS中的event对象

Event对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。

它是事件绑定中的一个隐藏参数,即实参,可以使用arguments[0]来获取但是这样比较麻烦,所以我们采取传递一个形参来获取它。

例如:var e = event || window.event;考虑到兼容性。

三个属性:

event.offsetX:鼠标相对于点击元素左边的水平距离位置

event.clientX:鼠标相对于可视区域左侧的水平位置(使用最多)

event.screenX:鼠标相对于屏幕左侧的水平位置

有时因为我们的页面过长或者过宽,到时窗口出现滚动条,这时当滚动条滚动时,获取到的鼠标位置就不是在页面上的绝对位置,而只是在可视区域的位置,我们可以这样:

event.clientX+ (document.documentElement.scrollLeft|| document.body.scrollLeft);

event.clientY+(document.documentElement.scrollTop|| document.body.scrollTop);

其中document.documentElement和document.body都是获取<body>标签。

禁止右键操作:

document.oncontextmenu = function(e){
               e.preventDefault();

实现鼠标点击显示当前的坐标的小例子:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title>Event</title>
	</head>
	<script type="text/javascript">
		function showcoords(e) {
			var e = event || window.event;
			var x = e.clientX;
			// 	var x = e.screenX;
			var y = e.clientY;
			//  	var y = e.screenY;
			document.getElementById("d").innerHTML = "X:" + x + " " + "Y:" + y;
		}
	</script>

	<body οnmοusedοwn="showcoords(event)">
		<div id="d" style="width: 600px; height: 600px;background: #0f0;margin: 0 auto;"></div>

	</body>

</html>

键盘事件实例:

<script type="text/javascript">
		document.onkeydown = function() {
			var e = event || window.event || arguments.callee.caller.arguments[0];
			if (e.keyCode == 113) { // 按 F2 
				alert(1);
			}
		};
	</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值