[02]a tag只为成button用时候设置href的办法
2024-08-29 15:30:37
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
最新文章
- JS 之作用域链和闭包
- Gentoo安装配置过程与总结
- Android Studio 学习 - 基本控件的使用;Intent初学
- DM8168 解码显示模块代码阅读分析
- 尚学堂 JAVA DAY12 概念总结
- javascript获取css中的样式值
- echarts legend 重叠 (转载)
- gitolite的部署
- c/c++ 标准库 map set 大锅炖
- 潭州课堂25班:Ph201805201 django 项目 第三课 码云注册,django项目 (课堂笔记)
- 屏幕录制软件camtasia studio 8序列号激活
- es6冲刺01
- VMware ESXI添加第三方网卡驱动
- MySQL 物理文件体系结构的简单整理说明
- linux centos重置mysql密码教程
- js 监听组合键盘事件
- WAP 2.0开发XHTML MP语法及常用功能
- Android数据库开发——SQLite
- vuex到底是个啥
- System V IPC
热门文章
- vim编辑器使用习惯问题
- tp5.0初入
- C语言函数篇(三)函数参数高级设计
- POJ 3977 折半枚举
- Maven系列之快速入门
- 110Balanced Binary Tree
- java.lang.RuntimeException: Handler (com.***.behavior.BEvent$1) {421bca80} sending message to a Hand
- (D)spring boot使用注解类代替xml配置实例化bean
- BFC相关知识
- Git上手:Git扫盲区