a tag为成button使用,
把JavaScript动作处理时,有如下四种停止Event效果。

  • <a href="#">
  • <a href="javascript:;">
  • <a href="javascript:void(0)">
  • <a role="button" tabindex="0">

按照如下顺序可以考虑使用。

  1. 可以用button tag的话,直接用Button Tag。(推荐)
  2. 如果需要用a tag : <a href="javascript:;" role="button">
    • script load前点击a tag也不会跟href="#"一样滚动条到页面上单。
    • javascript:void(0); 效果一样,但更简单
    • role: 可达性
    • tab focusing 可能 (通过用 href)
  3. 如果需要删除href property: <a role="button" tabindex="0"> (cursor 图表的话用 css 控制)
    • 在a tag上没有 href 的话不能Tab focusing,
    • 但设置tabindex="0" 的话会 focusable 。 (Tab顺序的话,按照基本Markup顺序做)
    • 参考: 如果禁止Focus的话用 `tabindex="-1"

参考 #

<a href="#"> 缺点 #

  • 不对hash的原来目的 (anchor 是移动特点位置是用的)
  • 点击的话会滚动条到页面上单。 (列: script load 前,script error时)

如果用javascript 处理tag的话,推荐使用button tag #

a tag只为成button使用时设置href办法 #

href="javascript:;" or href="javascript:void(0);"

  • 两个都一样。 (停止a tag的默认效果)
  • 用JavaScript点击处理时使用
  • script load前点击也不会跟href="#"一样滚动跳到页面上单

void(0) ? #

alert(undefined); //alerts "undefined"
var undefined = "new value";
alert(undefined) // alerts "new value"
  • 为什么是0?: 很简单,很习用。
  • 很多minifiers把undefined换掉void 0 (用量小,安全)
  • 参考: 跟void 0一样的意思

<a role="button" tabindex="0"> 方式 #

http://wit.nts-corp.com/2014/04/14/1297 > "a tag"
https://stackoverflow.com/questions/10510191/valid-to-use-a-anchor-tag-without-href-attribute

需要使用 a tag + 删除href 的方式的话(没有目的地的话):

    1. 删除href property
    2. WAI-ARIA Spec上提供的role property里必要告诉是button
    3. 为了focusable设置tabindex="0"
      • Tab顺序的话,按照基本Markup顺序做
      • 没href property的话,不能Tab focus

最新文章

  1. JS 之作用域链和闭包
  2. Gentoo安装配置过程与总结
  3. Android Studio 学习 - 基本控件的使用;Intent初学
  4. DM8168 解码显示模块代码阅读分析
  5. 尚学堂 JAVA DAY12 概念总结
  6. javascript获取css中的样式值
  7. echarts legend 重叠 (转载)
  8. gitolite的部署
  9. c/c++ 标准库 map set 大锅炖
  10. 潭州课堂25班:Ph201805201 django 项目 第三课 码云注册,django项目 (课堂笔记)
  11. 屏幕录制软件camtasia studio 8序列号激活
  12. es6冲刺01
  13. VMware ESXI添加第三方网卡驱动
  14. MySQL 物理文件体系结构的简单整理说明
  15. linux centos重置mysql密码教程
  16. js 监听组合键盘事件
  17. WAP 2.0开发XHTML MP语法及常用功能
  18. Android数据库开发——SQLite
  19. vuex到底是个啥
  20. System V IPC

热门文章

  1. vim编辑器使用习惯问题
  2. tp5.0初入
  3. C语言函数篇(三)函数参数高级设计
  4. POJ 3977 折半枚举
  5. Maven系列之快速入门
  6. 110Balanced Binary Tree
  7. java.lang.RuntimeException: Handler (com.***.behavior.BEvent$1) {421bca80} sending message to a Hand
  8. (D)spring boot使用注解类代替xml配置实例化bean
  9. BFC相关知识
  10. Git上手:Git扫盲区