joelpurra / emulatetab
此包已废弃,不再维护。未建议替代包。
一个用于在页面元素间模拟切换标签的jQuery插件。
0.2.12
2021-02-24 16:20 UTC
Requires
- components/jquery: ^2.0.0
README
一个用于在页面元素间模拟切换标签的jQuery插件。
⚠️ 此项目已被存档
未计划未来更新。您可以继续使用,但请预期不会得到支持。
tab键在导航网页时非常有用。当处理修改或重用页面元素间的标签切换的功能时,无法从javascript中调用浏览器的原生标签逻辑。此插件试图模拟/模拟浏览器逻辑。
获取它
下载脚本,并将其包含在您的HTML页面中jQuery脚本标签之后。
链接 | 注意 |
---|---|
emulatetab.joelpurra.js | 开发用 |
emulatetab.joelpurra.min.js | 生产用 |
GitHub | $ git clone --recursive git://github.com/joelpurra/emulatetab.git 请确保获取子模块。 |
Bower | $ bower install jquery-emulatetab |
组件 | $ component install joelpurra/emulatetab |
NPM | $ npm install jquery-emulatetab |
jQuery插件注册 | |
Packagist |
演示
example/demo.html
:比较EmulateTab与您的浏览器的简单演示。
用法
// Emulate forward tab from the currently focused element $.emulateTab(); // Emulate reverse tab from the currently focused element $.emulateTab(-1); // Emulate forward tab from a specific element $(selector).emulateTab(); // Emulate reverse tab from a specific element $(selector).emulateTab(-1);
可切换的元素
可聚焦/切换的元素包括<input>
、<select>
、<textarea>
、<button>
和<a href="...">
(必须存在href
属性,并且标签必须包含一些内容)。
请注意,<input type="hidden" />
、<a>
(没有href
或空内容)、disabled="disabled"
或display: none;
元素无法聚焦/切换到。
原始目的
开发作为两个其他插件的组成部分;一个用于使用tab跳过不常用的表单字段,另一个用于使用键盘上的+作为新的标签键。这两个插件都用于一个注册和管理信件的Web应用程序。
依赖项
EmulateTab的唯一运行时依赖是jQuery。
浏览器兼容性
应该与jQuery的兼容性相当,因为大多数功能依赖于jQuery的规范化。您被鼓励运行EmulateTab测试套件,然后报告任何问题。
贡献
为了贡献项目,请按照以下步骤操作。
- 请确保已安装git、npm、bower、grunt和jekyll。
- 在github上fork项目。.
$ git clone --recursive git@github.com:USERNAME/emulatetab.git
其中USERNAME
是您的github用户名。$ git checkout -b my-own-modification
其中my-own-modification
是您修复或功能的描述性名称。$ npm install && bower install
$ grunt watch
- 修改代码。记得为新更改编写新的测试用例。
$ git commit
$ grunt
确保所有测试通过。$ git push
- 在github.com上发送pull request。
待办事项
- jQuery UI 中的
:focusable
和:tabbable
有更好的代码实现。研究如何实现。 - 研究聚焦/标签切换和
[contenteditable]
。 - 研究使用
[tabindex]
和负值聚焦/标签切换非输入元素。 - 为打包/压缩的bower/composer组件/jquery插件发布创建单独的git仓库。
许可证
由Joel Purra为PTS开发https://joelpurra.se/
版权所有(c)2011,2012,2013,2014,2015,瑞典邮政和电信管理局(PTS)。保留所有权利。
在BSD许可证下发布。