簡體   English   中英

如何調用onkeydown / onfocus到列表標簽?

[英]How to call onkeydown/onfocus to a list tag?

我有一個列表,並且在此列表中,我試圖在keyisdown / onfocus / etc時調用函數嗎? 這不會觸發功能:

 <li onkeydown="myFunction()"></li>

正常的onclick可以正常工作(在“點擊增加”時調用該函數),並會觸發該函數:

<li onclick="andrafarg()"></li>

所以我的問題是:當立即單擊列表時,如何調用此函數?

從jQuery文檔中:

當用戶首次按下鍵盤上的鍵時,keydown事件將發送到元素。 它可以附加到任何元素,但是事件僅發送到具有焦點的元素。 在瀏覽器之間,可聚焦元素可以有所不同,但是表單元素可以始終獲得焦點,因此是此事件類型的合理候選對象。

因此,由於li元素無法集中注意力,因此keydown -event將永遠不會觸發。 有關可聚焦元素的參考,您可以查看答案。

但是由於事件冒泡 ,如果事件偵聽器是在輸入本身或父元素上注冊的,則列表內的input - field將觸發keydown -event。 例:

HTML

<ul>
    <li><input type="text" /></li>
</ul>

使用Javascript

$('ul > li').on('keydown', function(){
   alert('Event triggered'); 
});

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM