我的总体目标是能够使用TAB键在3个div之间导航,每个div都有#sectionA、#sectionB和#sectionC的CSS id。在每个div中,我有一个无序列表,我想使用左右箭头键来浏览列表。
我的超文本标记语言如下:
<div id="sectionA">
<ul id="ul_sectionA">
<li> Section A - Test B</li>
<li> Section A - Test B</li>
</ul>
</div>
<div id="sectionB">
<ul id="ul_sectionB">
<li> Section B - Test B</li>
<li> Section B - Test B</li>
</ul>
</div>
<div id="sectionC">
<ul id="ul_sectionC">
<li> Section C - Test B</li>
<li> Section C - Test B</li>
</ul>
</div>
到目前为止,我能够得到以下jquery代码,但一旦我添加了第二个$(文档). keydown(函数()代码,就无法工作。
$(document).ready(function()
{
var divs = ["sectionA","sectionB","sectionC"];
var startIndex = 0;
$(document).keydown(function(e)
{
alert("test");
if (e.which == 9)
{
$("div").css("border", "");
$("#"+divs[startIndex]).css("border","1px solid blue");
var divID = $("#" +divs[startIndex]).attr("id");
$(document).keydown(function(event)
{
if(event.which == 37)
{
if("#"+divID+"ul li").addClass() == "highlight")
{
$(this).next().addClass("highlight");
} else
{
$(this).addClass();
}
}
});
startIndex++;
if(startIndex === divs.length)
{
startIndex = 0;
}
}
});
});
希望这能让你朝着正确的方向前进。无论如何,它都不是完美的。
您遇到的基本问题是试图嵌套一个keydown事件。你不能这么做。取而代之的是,您需要为左右箭头创建一个单独的keydown事件,这些事件中的每一个都需要计算出用户“选择”了哪个div,然后在该div中滚动这些列表项。下面的代码将启动这个过程,但是它只处理左箭头,甚至还没有完成。
<script type="text/javascript">
$(document).ready(function()
{
var divs = ["sectionA","sectionB","sectionC"];
var startIndex = 0;
var startListItemIndex = 0;
var divID;
$(document).keydown(function(e)
{
if (e.which == 9)
{
$("div").css("border", "");
$("#" + divID + " ul li").css("border", "0px"); //remove all borders
$("#"+divs[startIndex]).css("border","1px solid blue"); //now add border to selected div
divID = $("#" +divs[startIndex]).attr("id");
startListItemIndex = 0; //reset startIndex each time tab is pressed.
startIndex++;
if(startIndex === divs.length)
{
startIndex = 0;
}
}
//left arrow click
if(event.which == 37)
{
startListItemIndex++;
//remove all highlights first
$("#" + divID + " ul li").removeClass("highlight");
//now add highlight to the next li element.
$("#" + divID + " ul li:nth-child(" + startListItemIndex + ")").addClass("highlight");
}
});
});
</script>
我的数据流来自一个定制的SourceFunction,它以确定性的顺序发出窗口大小的字符串序列。其目的是基于EventTime在keyedstream上创建滑动窗口,以便对累积的字符串进行处理。为了分配EventTime和水印,我将一个带有PeriodicWatermarks的赋值器附加到流。滑动窗口使用自定义ProcessWindowFunction进行处理。 My AssignerWithPe
多层组件嵌套button,如何阻止事件传递
我的数据存储在DynamoDB中的单个表“events”中,在下面的模式中,“_id”作为哈希键,“microtime”作为范围键(下面的示例数据):
问题内容: 我有正在使用nodeJS读取的csv文件。我在阅读之前将每个文件转换为文本。 文件中的每一行都有以’=’分隔的数据。 每行看起来像 “ =“之前的第一部分代表我应用程序中json对象的索引。我的目的是解析此数据并为其构建json表示,以便上面的行成为 使用javascript / node js; 如何将应该表示嵌套JSON键序列的字符串转换为上述json对象? 问题答案: 您可以分割
问题内容: 我在下面的对象中尝试获取所有id值。 使用以下代码,我仅获得第一个id值。有没有办法从嵌套对象中获取所有id值,而无需使用任何外部模块。 预期产量 问题答案: 您可以使用如下所示的JavaScript函数来获取嵌套属性: 检查此小提琴以获取可行的解决方案。
我使用以下代码从URL下载JSON文件: 这正确地获取了代码,但是我在获取第一级数据时遇到了问题,我可以使用并按预期工作,但我无法执行。 JSON文件可以在这里找到。 这里是JSON美化。 我想随机得到一个我不知道孩子数量的孩子。类似于 编辑: 我真的需要一个简单的解决方案,从一个随机的孩子那里得到一些参数。 我需要得到JSON- 有人能给我看一个基本的工作例子,给我一个我可以修改的最终值吗?