老师,这里阻止了PC端的默认行为,没有阻止移动端的默认行为,那为什么在移动端的时候移不动呢?

老师,这里阻止了PC端的默认行为,没有阻止移动端的默认行为,那为什么在移动端的时候移不动呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2022-05-31 17:15:17

同学你好,因为在移动端,默认行为不只会在手指拖动的时候触发,还会在手指按下的时候触发。因此需要在可能触发默认行为的情况下,将其都禁止掉:

https://img1.sycdn.imooc.com//climg/6295dc7009ccbdd006180272.jpg

这里属于固定的现象,有个印象就行。写代码的过程中,如果发生了类似现象,就禁止一下默认行为试试。

祝学习愉快!

  • 还是不明白,老师这里具体阻止了什么 默认行为 导致移动端变得可以拖动了呢

    2022-07-12 16:19:24
  • 同学你好,移动端默认行为有很多,比如手指在页面上滑动,页面会进行滚动,这个滚动就是默认行为。再比如手指放到页面上双击,页面默认会放大,放大行为也是默认行为......。这里,很大概率是页面滚动这个默认行为的造成的问题,手指按下时,页面准备滚动,而页面上的元素也准备移动,二者一叠加,浏览器就容易计算出错。

    只要能通过调用preventDefault()方法解决的bug,我们都统称为“默认行为造成的bug”,不用区分具体是什么行为造成的,很多时候,我们也无法确定具体是什么行为造成的,不用纠结。

    2022-07-12 17:11:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师