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

[02]a tag只为成button用时候设置href的办法的更多相关文章

  1. img只显示图片一部分 或 css设置背景图片只显示图片指定区域

    17:14 2016/3/22img只显示图片一部分 或 css设置背景图片只显示图片指定区域 background-position: 100% 56%; 设置背景图片显示图片的哪个坐标区域,图片左 ...

  2. 自定义Button 的图片设置不显示问题。

    如果你是自定义button  那么你设置图片就要用 button.imageView.image = [UIImage imageName:@""]; 如果你是给系统原生的butt ...

  3. Python打包成exe,文件太大问题解决办法

    Python打包成exe,文件太大问题解决办法 原因 解决办法 具体步骤 情况一:初次打包 情况二:再次打包 原因 由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去, ...

  4. Bootstrap 模态对话框只加载一次 remote 数据的解决办法 转载

    http://my.oschina.net/qczhang/blog/190215 摘要 前端框架 Bootstrap 的模态对话框,可以使用 remote 选项指定一个 URL,这样对话框在第一次弹 ...

  5. MFC下debug改成release版本出现问题及解决办法

    自己在debug下成功运行了自己写的测试自己写第三方库的程序,这里有用到opencv库,所以同时用到了自己的库和opencv的库,需求因为要进行速度的测试,是想要把debug改成release版本,这 ...

  6. RecyclerView.Adapter封装,最简单实用的BaseRecyclerViewAdapter;只需重写一个方法,设置数据链式调用;

    之前对ListView的BaseAdapter进行过封装,只需重写一个getView方法: 现在慢慢的RecyclerView成为主流,下面是RecyclerView.Adapter的封装: Base ...

  7. Android开发UI之ListView中的Button点击设置

    在ListView的Item中,如果有Button控件,那么要实现Button和Item点击都有响应,可以将Item的Layout中Button的focusable属性设为false,然后设置layo ...

  8. 将activity设置成dialog样式如何设置窗口大小

    具体做法和dialog窗口的设置类似,只需要在onCreate方法中,加入下列代码,既可以控制大小! // 设置窗体大小  ScreenUtil.getScreenWidth(LoadActivity ...

  9. Android ListView嵌套Button,Button事件覆盖item事件解决办法

    方法就是修改item布局的xml文件: 在根布局里加上: android:descendantFocusability="blocksDescendants" 然后在按钮布局里加上 ...

随机推荐

  1. Rsync备份服务部署

    1 Rsync服务器架构规划 在搭建服务之前需要做以下规划设计,其中包括:主机规划表.主机IP地址规划表.主机架构图.主机hosts解析以及linux主机基础优化等 1.1 主机规划表 服务器说明 数 ...

  2. yarn 无法下载node-sass

    指定node-sass的下载源 yarn config set sass-binary-site http://npm.taobao.org/mirrors/node-sass

  3. kivy学习一:安装kivy模块

    现在是看脸的时代,一个程序没有一个漂亮的UI,就像一个深闺中的美女没人欣赏. 当然作为一个小小.............白,没有那么高的要求,当前要先有脸是不? 首选python自家的模块tkinte ...

  4. HyperLedger Fabric 1.4 区块链技术形成(1.2)

    在比特币诞生之时,没有区块链技术概念,当人们看到比特币在无中心干预的前提下,还能安全.可靠的运行,比特币网络打开了人们的想象空间:技术专家们开始研究比特币的底层技术,并抽象提取出来,形成区块链技术,或 ...

  5. DFS:C 小Y的难题(1)

    解题心得: 1.在明确使用DFS之后一定要找到递归函数的出口.方向,以及递归的点(在某个情况下开始递归)(void 也可以return,但是没有返回值).递归时也要有递归的方向,最后都能够达到递归的出 ...

  6. poj 1957 二分搜索

    题意:N个灯泡离地H_i,满足H1 = A ,Hi = (Hi-1 + Hi+1)/2 – 1,HN = B ,求最小B. 思路: 只要二分第二个灯泡的高度就可以推出全部灯泡的高度 如果hi<0 ...

  7. 小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)

    补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页 ...

  8. Spring---资源访问工具类

    JDK所提供的访问资源的类并不能很好的满足各种底层资源的访问需求,因此,Spring设计了一个Resource接口,它为应用提供了更强大的访问底层资源的能力 主要方法 boolean exists() ...

  9. BZOJ [Poi2012]Fibonacci Representation

    找最近的数 记忆化 (我也不知道为什么对的) #include<cstdio> #include<algorithm> #include<map> using na ...

  10. 3226: [Sdoi2008]校门外的区间

    链接 思路 bug漫天飞... 维护一颗线段树,支持区间赋值,和区间异或.因为会处理到一些方括号还是圆括号的问题,所以对于每一个下标都乘2,假设中间有一个.5即可,都变成了方括号,输出在处理一下. U ...