分享各种网络资源
是我乃至整个互联网的精髓所在
最新公告:
  • 开启被动注册模式,详情点击这里,同时接小单,QQ:330733312
  • 目前站点正在不断折腾和调试中,如有问题请见谅
     您目前所在位置: 站点首页 » 移动互联 » 学习之路 » 一个问题让我学习到了两个知识点
  • 一个问题让我学习到了两个知识点

  • 第一次尝试
  • 第二次尝试
  • 最终结论
  • 一个问题让我学习到了两个知识点-BanYuner

    昨日在贴吧上面看到了一个帖子,说的是在移动端手机菜单显示不正常,我本着帮人并且自己学习经验的想法去看了一下这个站点,确实发现有问题,但是并不是所谓的显示不正常,而是移动端点击菜单没有反应。

    第一次尝试

    那我的第一想法就是看你JS问题,于是我就查看了一下相关的JS代码:
    一个问题让我学习到了两个知识点-BanYuner

    查看了相关代码之后,发现这个菜单的id确实是存在JS点击事件的,那么代码方面应该是没有问题的,于是我就转而投向是否菜单出现了问题,后来发现菜单中ul的属性含有遗传字符,但是我当时并不知道这串字符是干什么的:
    一个问题让我学习到了两个知识点-BanYuner

    于是乎,我就继续百度了,之后发现原来是Url编码,那么我解码之后,发现是这个内容:
    一个问题让我学习到了两个知识点-BanYuner

    当时我愚蠢的认为可能是因为这个中文的问题,后来回想一下,我当时真的是太傻太天真了,即使含有中文也是没有问题的啊,所以现在想想真的觉得很傻很傻。

    第二次尝试

    今天我再次看到这个帖子,楼主也回复我,询问解决办法,那么我就只能看看能不能帮助了。所以我再次打开其站点,转为移动端模式,一点点的看id的属性,一个个测试每个属性对其影响,小猫碰上死耗子,还真的被我发现了不对劲的地方。

    我发现一个名为pointer-events的属性,我取消这个属性之后,菜单居然就正常了,那么这个属性到底是干什么用的呢,我当时也比较纳闷。
    一个问题让我学习到了两个知识点-BanYuner

    后来经过我百度之后,发现该属性的解释如下:

    使用pointer-events来阻止元素成为鼠标事件目标不一定意味着元素上的事件侦听器永不会触发。如果元素后代明确指定了pointer-events属性并允许其成为鼠标事件的目标,那么指向该元素的任何事件在事件传播过程中都将通过父元素,并以适当的方式触发其上的事件侦听器。当然位于屏幕上在父元素上但不在后代元素上的鼠标活动都不会被父元素和后代元素捕获(将会穿过父元素而指向位于其下面的元素)。

    简单的说,就是这个属性可以让其他的点击时间全部失效,这个属性好啊,我当时就觉得,这属性一定以后会被广泛使用,之前通过JS代码实现的功能直接通过一个CSS属性就可以解决不是很厉害么。

    最终结论

    这个问题可能对于高手来说一看就知道是个什么回事,但是作为小白的我来说,是一个学习的经验。简单的说呢,通过这个问题我准确的了解到了两个方面,一个就是Url编码问题,二个就是pointer-events属性的相关知识。其实经验就是不断积累出来的,我个人觉得,遇到问题不要怕,一点点的尝试,最终还是解决问题的。

    这里附上Url编码站点: http://tool.chinaz.com/tools/urlencode.aspx

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    一个问题让我学习到了两个知识点

    支付宝(点击图片切换)

    扫码,支持我

    一个问题让我学习到了两个知识点

    微信(点击图片切换)

    扫码,手机看

    一个问题让我学习到了两个知识点
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    
    一个问题让我学习到了两个知识点
    8 + 4 =