DOM鼠标键盘事件

本文介绍了DOM中的鼠标事件,包括拖拽事件的三个步骤,滚轮事件的浏览器兼容处理,以及键盘事件的监听,如keydown和keyup。同时,通过实例展示了如何利用键盘方向键移动盒子,探讨了现有实现的改进空间。
摘要由CSDN通过智能技术生成

鼠标的拖拽事件

拖拽的流程:

(1)onmousedown:当鼠标在被拖拽元素上按下时,开始拖拽;

(2)onmousemove:当鼠标移动时被拖拽元素跟随鼠标移动;

(3)onmouseup:当鼠标松开时,被拖拽元素固定在当前位置。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">

        #box1{
   
            width: 100px;
            height: 100px;
            background-color: red;
            position: absolute;
        }

        #box2{
   
            width: 100px;
            height: 100px;
            background-color: yellow;
            position: absolute;

            left: 200px;
            top: 200px;
        }

    </style>

    <script type="text/javascript">

        window.onload = function(){
   
            /*
             * 拖拽box1元素
             *  - 拖拽的流程
             * 		1.当鼠标在被拖拽元素上按下时,开始拖拽  onmousedown
             * 		2.当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove
             * 		3.当鼠标松开时,被拖拽元素固定在当前位置	onmouseup
             */

            //获取box1
            var box1 = document.getElementById("box1");
            //为box1绑定一个鼠标按下事件
            //当鼠标在被拖拽元素上按下时,开始拖拽  onmousedown
            box1.onmousedown = function(event){
   
                event = event || window.event;
                //div的偏移量 鼠标.clentX - 元素.offsetLeft
                //div的偏移量 鼠标.clentY - 元素.offsetTop
                var ol = event.clientX - box1.offsetLeft;
                var ot = event.clientY - box1.offsetTop;


                //为document绑定一个onmousemove事件
                document.onmousemove = function(event){
   
                    event = event || window.event;
                    //当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove
                    //获取鼠标的坐标
                    var left = event.clientX - ol;
                    var top = event.clientY - ot;

                    //修改box1的位置
                    box1.style.left = left+"px";
                    box1.style.top = top+"px";

                };

                //为document绑定一个鼠标松开事件
                document.onmouseup = function(){
   
                    //当鼠标松开时,被拖拽元素固定在当前位置	on
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值