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

回答編集履歴

2

さらに追記

2017/03/21 08:21

投稿

yambejp
yambejp

スコア117973

answer CHANGED
@@ -23,3 +23,37 @@
23
23
  ```
24
24
  前者が元から設定されていれば、後者を追記する
25
25
 
26
+ # さらに
27
+
28
+ ```javascript
29
+ <script>
30
+ $(function(){
31
+ $('#add').on('click',function(){
32
+ $('#myUL').append($('<li>'));
33
+ });
34
+ $('#del').on('click',function(){
35
+ $('#myUL li:last-child').remove();
36
+ });
37
+ });
38
+ $(function(){
39
+ var myLen=$('#myUL li').length;
40
+ setInterval(function(){
41
+ if($('#myUL li').length > myLen){
42
+ alert('test!');
43
+ }
44
+ myLen=$('#myUL li').length;
45
+ },0);
46
+ });
47
+ </script>
48
+
49
+ <input type="button" value="add" id="add">
50
+ <input type="button" value="del" id="del"><br>
51
+ <ul id="myUL">
52
+ <li>test</li>
53
+ </ul>
54
+
55
+ ```
56
+ あまりお勧めしませんが、#myULの子要素の数を数え続けて
57
+ 変更があったときに実行するという処理もあります。
58
+ 今回の場合不等号でチェックして追加時のみ発火させていますが
59
+ 変化があったら常に実行する場合は!=などで対応してください

1

追記

2017/03/21 08:21

投稿

yambejp
yambejp

スコア117973

answer CHANGED
@@ -1,2 +1,25 @@
1
1
  liを追加する事自体がjQueryに依存しているのであれば
2
- その箇所に関数を実行する行を追記しておけばよいのでは?
2
+ その箇所に関数を実行する行を追記しておけばよいのでは?
3
+
4
+ # 追記
5
+ 特定のトリガーで発火するなら、それと同じトリガーで処理を追加しておけばよいのでは?
6
+ ```javascript
7
+ <script>
8
+ $(function(){
9
+ $('#btn').on('click',function(){
10
+ $('#myUL').append($('<li>'));
11
+ });
12
+ $(document).on('click','#btn',function(){
13
+ alert('test!');
14
+ });
15
+ });
16
+ </script>
17
+
18
+ <input type="button" value="add" id="btn"><br>
19
+ <ul id="myUL">
20
+ <li>test</li>
21
+ </ul>
22
+
23
+ ```
24
+ 前者が元から設定されていれば、後者を追記する
25
+