资讯专栏INFORMATION COLUMN

由a标签点击事件引发的IE8翻车事故

Little_XM / 3413人阅读

摘要:折腾之路使用各种方式取值,都没有获取到输入框的值,一直以为是取值方式的问题,一直折腾无果,因为在其他浏览器下均正常。如果不点击相关标签,则可以获取到输入框的值。解决方案在每一个这种标签的点击事件中,添加来阻止默认事件即可。

起因
对于a标签的点击事件,也许我们早已习惯href="javascript:void(0);"这样去写,之后绑定click事件来处理,但今天在IE8浏览器下某个页面遇到了很诡异的问题。如果我们点击了某个这个a标签,JavaScript中的点击事件执行之后,页面中的input使用$("input").val()等就取不到值了,使用$("form").serialize()之后相关input的字段也没有值。由此展开了折腾之路。
折腾之路

使用各种方式取值,都没有获取到input输入框的值,一直以为是取值方式的问题,一直折腾无果,因为在其他浏览器下均正常。

如果不点击相关a标签,则可以获取到input输入框的值。

在另外的具有placeholder处理的页面中,点击a标签后,input中的placeholder值没有了,因为IE8下的placeholder需要绑定相关事件,因此可以断定点击a标签之后,页面可能存在刷新。

果不其然,a标签的href属性即便写为javascript:void(0);仍然会导致页面在IE8下进行某种机制的页面刷新操作。

解决方案
在每一个这种a标签的点击事件中,添加e.preventDefault()来阻止默认事件即可。
潜在风险
在添加这行代码之后,对于想跳转的有些a标签可能不能跳转了,那么需要再在事件下面对href进行判断,或者判断这个href是否符合直接跳转的条件,而分别进行阻止默认事件的处理。

Diboot - 简单高效的轻代码开发框架

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/53795.html

相关文章

  • a标签点击事件引发IE8翻车事故

    摘要:折腾之路使用各种方式取值,都没有获取到输入框的值,一直以为是取值方式的问题,一直折腾无果,因为在其他浏览器下均正常。如果不点击相关标签,则可以获取到输入框的值。解决方案在每一个这种标签的点击事件中,添加来阻止默认事件即可。 起因 对于a标签的点击事件,也许我们早已习惯href=javascript:void(0);这样去写,之后绑定click事件来处理,但今天在IE8浏览器下某个页面遇...

    source 评论0 收藏0
  • 前端小报 - 201812 月刊

    摘要:也能帮你写代码了微软和团队一起推出扩展,预览版可以在插件市场直接查找安装。微软宣布将采用内核这对于诸多的前端开发者而言,无疑是本年底最大的福音具体的计划可以参考官网的博客,在不久的将来,基于的浏览器将要正式和我们见面啦。 订阅 / 投稿:https://github.com/txd-team/monthly本期小编: Hkmu (扶容) / x-cold (尹挚) 新闻快报 npm ...

    Coding01 评论0 收藏0
  • 前端小报 - 201812 月刊

    摘要:也能帮你写代码了微软和团队一起推出扩展,预览版可以在插件市场直接查找安装。微软宣布将采用内核这对于诸多的前端开发者而言,无疑是本年底最大的福音具体的计划可以参考官网的博客,在不久的将来,基于的浏览器将要正式和我们见面啦。 订阅 / 投稿:https://github.com/txd-team/monthly本期小编: Hkmu (扶容) / x-cold (尹挚) 新闻快报 npm ...

    jsliang 评论0 收藏0
  • 前端小报 - 201812 月刊

    摘要:也能帮你写代码了微软和团队一起推出扩展,预览版可以在插件市场直接查找安装。微软宣布将采用内核这对于诸多的前端开发者而言,无疑是本年底最大的福音具体的计划可以参考官网的博客,在不久的将来,基于的浏览器将要正式和我们见面啦。 订阅 / 投稿:https://github.com/txd-team/monthly本期小编: Hkmu (扶容) / x-cold (尹挚) 新闻快报 npm ...

    zhangrxiang 评论0 收藏0

发表评论

0条评论

Little_XM

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<