JavaScript鼠标事件及案例

本文详细介绍了JavaScript中的鼠标事件,包括onclick、onmouseover等常用事件,并展示了如何禁止鼠标右击菜单和选中。此外,还讲解了鼠标事件对象如clientX、clientY等属性的使用,并提供了一个图片随鼠标移动的实战案例。通过本文,读者可以深入理解JavaScript鼠标事件及其实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 一、鼠标事件

1、鼠标事件的常用方法

(1)鼠标事件常用方法

(2) 禁止鼠标右击菜单:contextmenu

(3)禁止鼠标选中:selectstart

2、鼠标事件对象

3、案例(图片随着鼠标移动)


一、鼠标事件

1、鼠标事件的常用方法

(1)鼠标事件常用方法

onclick

单击鼠标左键时触发

onfocus

获得鼠标指针焦点触发

onblur

失去鼠标指针焦点触发

onmouseover

鼠标指针经过时触发

onmouseout

鼠标指针离开时触发

onmousedown

当按下任意鼠标按键时触发

onmouseup

当释放任意鼠标按键时触发

onmousemove

在元素内当鼠标指针移动时持续触发

(2) 禁止鼠标右击菜单:contextmenu

document.addEventListener('contextmenu', function (e) {
  e.preventDefault();
})

主要控制应该何时显示上下文菜单,主要应用于程序员取消默认的上下文菜单

(3)禁止鼠标选中:selectstart

selectstart事件是鼠标开始选择文字时就会触发,如果禁止鼠标选中,需要禁止该事件的默认行为

document.addEventListener('selectstart', function (e) {
  e.preventDefault();
})

2、鼠标事件对象

鼠标事件对象:MouseEvent

是跟鼠标事件相关的一系列信息的集合,可以用来获取当前鼠标的位置信息

clientX

鼠标指针位于浏览器页面当前窗口可视区的水平坐标(X轴坐标)

clientY

鼠标指针位于浏览器页面当前窗口可视区的垂直坐标(Y轴坐标)

pageX

鼠标指针位于文档的水平坐标(X轴坐标),IE 6~IE 8不兼容

pageY

鼠标指针位于文档的水平坐标(X轴坐标),IE 6~IE 8不兼容

screenX

鼠标指针位于屏幕的水平坐标(X轴坐标)

screenY

鼠标指针位于屏幕的垂直坐标(Y轴坐标)

var pageX = event.pageX || event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft)
var pageY = event.pageY || event.clientY + (document.body.scrollTop || document.documentElement.scrollTop)

3、案例(图片随着鼠标移动)

<style>
    img{
        position: absolute;
        top: 2px;
        width: 150px;
        height: 200px;
    }
</style>
<body>
    <img src="../imgs/凤霞.jpg" alt="">
    <script>
        //1、获取img对象
        var pic = document.querySelector('img');
        //2、给文档注册mousemove事件
        document.addEventListener('mousemove',function(e){
            //3、获取鼠标在页面中的坐标
            var x = e.pageX;
            var y = e.pageY;
            //4、将鼠标的坐标设置给图片
            pic.style.left = x-50+'px';
            pic.style.top = y-50+'px';
        })
    </script>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值