[02]a tag只为成button用时候设置href的办法
a tag为成button使用,
把JavaScript动作处理时,有如下四种停止Event效果。
<a href="#"><a href="javascript:;"><a href="javascript:void(0)"><a role="button" tabindex="0">
按照如下顺序可以考虑使用。
- 可以用button tag的话,直接用Button Tag。(推荐)
- 如果需要用a tag :
<a href="javascript:;" role="button">- script load前点击a tag也不会跟href="#"一样滚动条到页面上单。
- 跟
javascript:void(0);效果一样,但更简单 - role: 可达性
- tab focusing 可能 (通过用 href)
- 如果需要删除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 #
- 推荐使用HTML基本button
<button>, <input type="button" />,<input type="image" />。比使用button role property更好。 - https://developer.mozilla.org/ko/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_button_role
a tag只为成button使用时设置href办法 #
href="javascript:;" or href="javascript:void(0);"
- 两个都一样。 (停止a tag的默认效果)
- 用JavaScript点击处理时使用
- script load前点击也不会跟
href="#"一样滚动跳到页面上单
void(0) ? #
https://stackoverflow.com/questions/7452341/what-does-void-0-mean
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/void
以void(0)代undefined使用 (void是每次返回undefined)理由: undefined是会override的。 (虽ECMAScript 5 或 newer上没问题。。。)
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 的方式的话(没有目的地的话):
- 删除href property
- WAI-ARIA Spec上提供的role property里必要告诉是button
- 为了focusable设置
tabindex="0"- Tab顺序的话,按照基本Markup顺序做
- 没href property的话,不能Tab focus
[02]a tag只为成button用时候设置href的办法的更多相关文章
- img只显示图片一部分 或 css设置背景图片只显示图片指定区域
17:14 2016/3/22img只显示图片一部分 或 css设置背景图片只显示图片指定区域 background-position: 100% 56%; 设置背景图片显示图片的哪个坐标区域,图片左 ...
- 自定义Button 的图片设置不显示问题。
如果你是自定义button 那么你设置图片就要用 button.imageView.image = [UIImage imageName:@""]; 如果你是给系统原生的butt ...
- Python打包成exe,文件太大问题解决办法
Python打包成exe,文件太大问题解决办法 原因 解决办法 具体步骤 情况一:初次打包 情况二:再次打包 原因 由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去, ...
- Bootstrap 模态对话框只加载一次 remote 数据的解决办法 转载
http://my.oschina.net/qczhang/blog/190215 摘要 前端框架 Bootstrap 的模态对话框,可以使用 remote 选项指定一个 URL,这样对话框在第一次弹 ...
- MFC下debug改成release版本出现问题及解决办法
自己在debug下成功运行了自己写的测试自己写第三方库的程序,这里有用到opencv库,所以同时用到了自己的库和opencv的库,需求因为要进行速度的测试,是想要把debug改成release版本,这 ...
- RecyclerView.Adapter封装,最简单实用的BaseRecyclerViewAdapter;只需重写一个方法,设置数据链式调用;
之前对ListView的BaseAdapter进行过封装,只需重写一个getView方法: 现在慢慢的RecyclerView成为主流,下面是RecyclerView.Adapter的封装: Base ...
- Android开发UI之ListView中的Button点击设置
在ListView的Item中,如果有Button控件,那么要实现Button和Item点击都有响应,可以将Item的Layout中Button的focusable属性设为false,然后设置layo ...
- 将activity设置成dialog样式如何设置窗口大小
具体做法和dialog窗口的设置类似,只需要在onCreate方法中,加入下列代码,既可以控制大小! // 设置窗体大小 ScreenUtil.getScreenWidth(LoadActivity ...
- Android ListView嵌套Button,Button事件覆盖item事件解决办法
方法就是修改item布局的xml文件: 在根布局里加上: android:descendantFocusability="blocksDescendants" 然后在按钮布局里加上 ...
随机推荐
- jquery横向手风琴效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 解决.NET Core R1中文乱码问题
今天写了一个简单的.NET Core RC1控制台程序,发现中文显示一直是乱码.查看操作系统设置,没有问题:查看源文件编码,也没有问题:甚至查看了Console字符编码相关的注册表,依然没有发现问题. ...
- 图解HTTP总结(7)——确保Web安全的HTTPS
HTTP 主要有这些不足, 例举如下. 通信使用明文( 不加密) , 内容可能会被窃听. 不验证通信方的身份, 因此有可能遭遇伪装. 无法证明报文的完整性, 所以有可能已遭篡改 ...
- PLC状态机编程第一篇-状态机介绍
状态机的一般概念 过去我在学习PLC编程时,看的大部分书仅仅停留在软件的操作上,没有真正讲述如何组织程序,这里我们讲一个通用的描述控制算法的方法,就是状态机,和SFC很类似,其实SFC也是源于状态机啦 ...
- DSP资源分享贴
DSP资源分享 [2017.5.16 更新] 分享资源共同学习.以前的资源很多人都说用不了了,我会陆续补充,逐步完善.这里不单单分享DSP的,设计基础的,还有其他的电子相关的比较好的资源吧主都和您分享 ...
- keil5的安装及问题
win8+keil 注意,在进行破解的时候首先要打开一个工程,而且keil要用管理员的身份进行运行, 才可以破解完成 发现打开之后,出现这样的错误. 原因是因为在创建工程的时候在下图中点了是,要点否才 ...
- POJ 3581 三段字符串(后缀数组)
Sequence Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 7923 Accepted: 1801 Case Tim ...
- Codeforces Round #460 (Div. 2): D. Substring(DAG+DP+判环)
D. Substring time limit per test 3 seconds memory limit per test 256 megabytes input standard input ...
- POJ:2229-Sumsets(完全背包的优化)
题目链接:http://poj.org/problem?id=2229 Sumsets Time Limit: 2000MS Memory Limit: 200000K Total Submissio ...
- Servlet HttpRequest 中【getAttribute】和【getParameter】的区别
1.获取的值不同 getAttribute表示从request范围取得设置的属性,必须要通过setAttribute设置属性,才能通过getAttribute取得.设置和取得的值都是Object类型. ...