我有一个列表,在这个列表中我试图在keyisdown / onfocus / etc时调用一个函数?这不会触发功能:
<li onkeydown="myFunction()"></li>
正常onclick工作正常(当&#34;点击上升时调用该功能&#34;)并将触发该功能:
<li onclick="andrafarg()"></li>
所以我的问题是:如果立即点击列表,我怎么能调用这个函数?
答案 0 :(得分:4)
来自jQuery文档:
当用户第一次按下a时,keydown事件被发送到一个元素 键盘上的键。它可以附加到任何元素,但事件 仅发送给具有焦点的元素。可聚焦元素可以 浏览器之间有所不同,但表单元素总是可以获得焦点 这种事件类型的合理候选人。
因为li
元素无法集中注意力,keydown
- 事件永远不会被触发。
有关可聚焦元素的参考,您可以查看this答案。
但是因为event-bubbling,列表中的input
- 字段会触发keydown
- 事件,如果事件监听器已注册输入本身或父元素。
例如:
<强> HTML 强>
<ul>
<li><input type="text" /></li>
</ul>
<强>的Javascript 强>
$('ul > li').on('keydown', function(){
alert('Event triggered');
});