slider 点击 鼠标移出元素放开

工作小问题记录

问题:页面根据需求需要使用到slider,用户通过对slider的操作使得其他显示动态变化,
            但是用户在元素上摁下鼠标后,移动幅度较大,鼠标偏离slider元素,这样导致动态显示部分无变化。
之前的写法是在元素上绑定mousedown、mouseup、mouseout

$('#slider').mousedown(function () {
     
});
$('#slider').mouseup(function () {
      
});

$('#slider').mouseout(function () {
     
});

以上的问题就是在于绑定的事件都是在slider上的,这样鼠标偏离slider就不会触发任何方法,解决办法就是要在 $(document) 上绑定事件。

(科补一下 $(document)  这个方法纯粹是对向window.load事件注册事件的替代方法)

修改后的写法:

    $('#slider').mousedown(function () {
        $(document).bind('mouseup', function (e3) {
          //处理逻辑
           /*
                逻辑
           */
         
          $(document).unbind('mouseup');
        });
    });

代码解释1:把事件绑定在slider对象里面,这样可以避免 页面点击其他地方也会出现 点击事件的效果
代码解释2:用完后,事件需要解绑mouseup,不然mouseup会重复多次

mousemove 也可以通到以上方法进行使用,具体看功能需求!!

又一个之前没注意的知识点,美滋滋~~~~

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值