質問するログイン新規登録

回答編集履歴

1

調整

2018/11/02 10:18

投稿

yambejp
yambejp

スコア118033

answer CHANGED
@@ -13,4 +13,40 @@
13
13
  <li>2</li>
14
14
  <li>3</li>
15
15
  </ul>
16
+ ```
17
+
18
+ # tabindexでのfocus
19
+ こんな感じですかね?
20
+ ```javascript
21
+ <script>
22
+ $(function(){
23
+ $('#btn').on('click',function(){
24
+ $('#u1').append($('<li>',{text:"hoge",tabindex:$('#u1 li').length+1}));
25
+ });
26
+ $('#u1').on('focus','li',function(){
27
+ $(this).css({color:"red"});
28
+ }).on('blur','li',function(){
29
+ $(this).css({color:""});
30
+ }).on('keydown','li',function(e){
31
+ var idx=$('#u1 li').index(this);
32
+ var len=$('#u1 li').length;
33
+ if(e.keyCode == 38){
34
+ idx--;
35
+ if(idx<0) idx=len-1;
36
+ }
37
+ if(e.keyCode == 40){
38
+ idx++;
39
+ if(idx>=len) idx=0;
40
+ }
41
+ $('#u1 li').eq(idx).trigger('focus');
42
+ });
43
+ });
44
+ </script>
45
+ <ul id="u1">
46
+ <li tabindex="1">a</li>
47
+ <li tabindex="2">b</li>
48
+ <li tabindex="3">c</li>
49
+ </ul>
50
+
51
+ <input type="button" id="btn" value="add li">
16
52
  ```