回答編集履歴

1

調整

2018/11/02 10:18

投稿

yambejp
yambejp

スコア114784

test CHANGED
@@ -29,3 +29,75 @@
29
29
  </ul>
30
30
 
31
31
  ```
32
+
33
+
34
+
35
+ # tabindexでのfocus
36
+
37
+ こんな感じですかね?
38
+
39
+ ```javascript
40
+
41
+ <script>
42
+
43
+ $(function(){
44
+
45
+ $('#btn').on('click',function(){
46
+
47
+ $('#u1').append($('<li>',{text:"hoge",tabindex:$('#u1 li').length+1}));
48
+
49
+ });
50
+
51
+ $('#u1').on('focus','li',function(){
52
+
53
+ $(this).css({color:"red"});
54
+
55
+ }).on('blur','li',function(){
56
+
57
+ $(this).css({color:""});
58
+
59
+ }).on('keydown','li',function(e){
60
+
61
+ var idx=$('#u1 li').index(this);
62
+
63
+ var len=$('#u1 li').length;
64
+
65
+ if(e.keyCode == 38){
66
+
67
+ idx--;
68
+
69
+ if(idx<0) idx=len-1;
70
+
71
+ }
72
+
73
+ if(e.keyCode == 40){
74
+
75
+ idx++;
76
+
77
+ if(idx>=len) idx=0;
78
+
79
+ }
80
+
81
+ $('#u1 li').eq(idx).trigger('focus');
82
+
83
+ });
84
+
85
+ });
86
+
87
+ </script>
88
+
89
+ <ul id="u1">
90
+
91
+ <li tabindex="1">a</li>
92
+
93
+ <li tabindex="2">b</li>
94
+
95
+ <li tabindex="3">c</li>
96
+
97
+ </ul>
98
+
99
+
100
+
101
+ <input type="button" id="btn" value="add li">
102
+
103
+ ```