gpt4 book ai didi

jquery - 简单模式对话框中链接的 Tab 键顺序

转载 作者:行者123 更新时间:2023-12-01 00:15:56 26 4
gpt4 key购买 nike

我正在使用优秀的 jquery.simplemodal 对话框插件来显示项目列表。这些项目包含超链接。除了模式对话框中的链接不会作为选项卡顺序的一部分出现之外,一切都很好。我尝试显式设置 tabindex,但由于某种原因,只有输入元素按 Tab 键顺序排列 - 如果我按 Tab 键浏览对话框,我只会循环浏览 3 个输入元素,而不会点击 anchor 。

我调用 simplemodal 插件时做错了什么吗?

示例位于 http://dev.andrewbucknell.com/basic/demo1.html

演示的代码(带有相对路径)如下

<!DOCTYPE html>  
<html>
<head>
<title> SimpleModal Basic Modal Dialog </title>
<meta name='author' content='Eric Martin' />
<meta name='copyright' content='2010 - Eric Martin' />
<!-- Page styles -->
<link type='text/css' href='css/demo.css' rel='stylesheet' media='screen' />
<!-- Contact Form CSS files -->
<link type='text/css' href='css/basic.css' rel='stylesheet' media='screen' />
<!-- IE6 "fix" for the close png image -->
<!--[if lt IE 7]>
<link type='text/css' href='css/basic_ie.css' rel='stylesheet' media='screen' />
<![endif]-->
<!-- JS files are loaded at the bottom of the page -->
</head>
<body>
<div id='container'>
<div id='logo'>
<h1>Simple<span>Modal</span></h1>
<span class='title'>A Modal Dialog Framework Plugin for jQuery</span>
</div>
<div id='content'>
<div id='basic-modal'>
<h3>Basic Modal Dialog</h3>
<p>A basic modal dialog with minimal styling and no additional options. There
are a few CSS properties set internally by SimpleModal, however, SimpleModal relies mostly
on style options and/or external CSS for the look and feel.</p>
<input type='button' name='basic' value='Demo' class='basic'/> or <a
href='#' class='basic'>Demo</a>
</div>
<div id="funddialog">
<div id="fundpickfilter">
<div class="fundfilter">
<label style="font-weight: bold;" for="filtertext">Find: </label>
<input class="tfilter" type="text" id="filtertext" value=""/>
</div>
<div id="fundactions">
<button type="button" id="fundsearch"
class="searchbutton">Search</button>
<button type="button" id="fundreset"
class="resetbutton">Reset</button>
</div>
</div>
<div id="fundpicklist">
<div class="fund"><a href="http://www.slashdot.org" >Item
1</a></div>
<div class="fund"><a href="http://www.arstechnica.com" >Item
2</a></div>
<div class="fund"><a href="http://www.techmeme.com" >Item
3</a></div>
</div>
</div>
<!-- modal content -->
<div id="basic-modal-content">
<div id="funddialog">
<div id="fundpickfilter">
<div class="fundfilter">
<label style="font-weight: bold;" for="filtertext">Find: </label>
<input class="tfilter" type="text" id="filtertext" value=""/>
</div>
<div id="fundactions">
<button type="button" id="fundsearch"
class="searchbutton">Search</button>
<button type="button" id="fundreset"
class="resetbutton">Reset</button>
</div>
</div>
<div id="fundpicklist">
<div class="fund"><a href="http://www.slashdot.org" >Item
1</a></div>
<div class="fund"><a href="http://www.arstechnica.com" >Item
2</a></div>
<div class="fund"><a href="http://www.techmeme.com" >Item
3</a></div>
</div>
</div>
</div>
</div>
</div>
<!-- Load jQuery, SimpleModal and Basic JS files -->
<script type='text/javascript' src='js/jquery.js'></script>
<script type='text/javascript' src='js/jquery.simplemodal.js'></script>
<script type='text/javascript' src='js/basic.js'></script>
</body>
</html>

最佳答案

我自己也遇到了这个问题。这是我到目前为止所做的工作。 Simplemodal 必须在“watchTab”和“focus”功能中添加选项卡导航,以便将焦点保持在模式内。它通过记录第一个和最后一个输入来实现这一点,当您按 Tab 键跳过它们时,重点关注相应的其他输入。不幸的是,它只查看输入而不查看链接。这意味着您只能使用 Tab 键切换到位于第一个和最后一个输入元素之间的链接。您可以覆盖或修改这些函数以获得所需的行为。像这样的事情:

将第 473 行替换为 var input = $('#simplemodal-data :input:visible:enabled, #simplemodal-data a:visible')[p]();

将第 592 行替换为 s.inputs = $('#simplemodal-data :input:visible:enabled, #simplemodal-data a:visible');

这是一个简单的解决方案,如果浏览器不使用 Tab 键切换链接,则可能会出现问题。我会尝试想出更好的东西。

关于jquery - 简单模式对话框中链接的 Tab 键顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8165357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com