【发布时间】:2016-03-22 19:31:30
【问题描述】:
我正在尝试使用我的键盘单击使用 id 的按钮。
对于某些按钮,我必须设置 ID,这确实有效。但是,一旦我尝试将键盘用于设置 id 的按钮,它就不起作用了。
我没有收到任何错误,并且由于将 id 添加到元素中有效,我有点困惑为什么我不能在后面的代码中使用新的 set id。
//setting id for first button (works)
$( "a:contains('Im Verband freigeben')" ).attr('id', 'freigabe-verband');
//setting id for second button (works aswell)
$( "a:contains('Vorheriger Einsatz')" ).attr('id', 'vorheriger-einsatz');
$( document ).keydown(function(e) {
if (e.keyCode == 39) {
//works, id is available, not set by me
$("#alert_next").click();
} else if (e.keyCode == 38){
// doesn't work, but id is set
$("#freigabe-verband").click();
} else if (e.keyCode == 40){
// doesn't work, but id is set
$("#vorheriger-einsatz").click();
}
return e.returnValue;
});
有人知道为什么吗? https://i.imgur.com/uy6oGFJ.png
【问题讨论】:
-
DOM 不知道你已经给那个对象一个
id,你需要委托这个事件。 -
这对我来说很好用:jsfiddle.net/es8oxgjc。但是我正在那个小提琴中执行jQuery onload。你能把它包装在一个 document.ready 中,然后看看它是否适合你?
-
如果您尝试模拟锚点,请单击此链接。 stackoverflow.com/questions/773639/…
-
您的代码确实适用于任何其他绑定的处理程序。 jsfiddle.net/SeanWessell/s2p4wd48
-
嗯,是的,这是有道理的。不知道如何委派它,得查一下。
标签: javascript jquery contains