質問編集履歴

3

追記の暫定的な解決策を編集

2020/03/11 04:40

投稿

tsurugi
tsurugi

スコア89

test CHANGED
File without changes
test CHANGED
@@ -58,34 +58,22 @@
58
58
 
59
59
  追記:
60
60
 
61
+ preventService()での止め方はわからなかったものの、表示/非表示だけなら余計なことを考えず属性の操作をするのが手っ取り早かったです。
62
+
63
+
64
+
61
65
  ```js
62
66
 
63
- UIkit.util.on(document, 'show', '.uk-tooltip.uk-active', function(e) {
67
+ //表示
64
68
 
65
- if(is_password_correct){
69
+ password_element.setAttribute('uk-tooltip','title:'+password_incorrect_reason)
66
70
 
67
- const tooltip_array = document.getElementsByClassName('uk-tooltip')
71
+ //非表示
68
72
 
69
- for(let i=0;i<tooltip_array.length;i++){
70
-
71
- if(tooltip_array[i]){
72
-
73
- tooltip_array[i].parentNode.removeChild(tooltip_array[i]);
73
+ password_element.removeAttribute('uk-tooltip')
74
-
75
- }
76
-
77
- }
78
-
79
- }
80
-
81
- });
82
74
 
83
75
  ```
84
76
 
85
77
 
86
78
 
87
- 現状はこの**表示する前に追加された要素を削除する力技**で対処できています。
88
-
89
-
90
-
91
- 要件は満たで解決言えば解決んですが、本質的な解決ではないので引き続き回答は募集させていだきます……
79
+ かしpreventService()使い方は依然してわからないので回答は募集たままにします。

2

暫定的な解決方法を追記。

2020/03/11 04:40

投稿

tsurugi
tsurugi

スコア89

test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,43 @@
49
49
 
50
50
 
51
51
  ご教授のほど、よろしくお願いします。
52
+
53
+
54
+
55
+ ---
56
+
57
+
58
+
59
+ 追記:
60
+
61
+ ```js
62
+
63
+ UIkit.util.on(document, 'show', '.uk-tooltip.uk-active', function(e) {
64
+
65
+ if(is_password_correct){
66
+
67
+ const tooltip_array = document.getElementsByClassName('uk-tooltip')
68
+
69
+ for(let i=0;i<tooltip_array.length;i++){
70
+
71
+ if(tooltip_array[i]){
72
+
73
+ tooltip_array[i].parentNode.removeChild(tooltip_array[i]);
74
+
75
+ }
76
+
77
+ }
78
+
79
+ }
80
+
81
+ });
82
+
83
+ ```
84
+
85
+
86
+
87
+ 現状はこの**表示する前に追加された要素を削除する力技**で対処できています。
88
+
89
+
90
+
91
+ 要件は満たしたので解決と言えば解決なんですが、本質的な解決ではないので引き続き回答は募集させていただきます……。

1

文章の修正、変数名を意味のあるものにした

2020/03/11 02:52

投稿

tsurugi
tsurugi

スコア89

test CHANGED
File without changes
test CHANGED
@@ -2,21 +2,27 @@
2
2
 
3
3
 
4
4
 
5
- パスワードのバリデーションについて、必要に応じて`input type="password"`の要素に対してtooltipで警告(そのパスワードが使えない理由)について警告しす。
5
+ パスワードのバリデーションについて、必要に応じて`input type="password"`の要素に対してtooltipで警告(そのパスワードが使えない理由)について警告するUIを作成す。
6
+
7
+
6
8
 
7
9
  ```js
8
10
 
9
- UIkit.tooltip(password_element, {title:str})
11
+ UIkit.tooltip(password_element, {title:password_incorrect_reason})
10
12
 
11
13
  ```
12
14
 
13
15
 
14
16
 
15
- これでTooltipが表示されます。
17
+ これで、パスワードが条件を満たしていないときにTooltipが表示されます。
16
18
 
17
19
 
18
20
 
21
+ しかし、パスワードが条件を満たしている時はTooltipを非表示にする必要があります。
22
+
23
+
24
+
19
- [公式のドキュメント](https://getuikit.com/docs/tooltip)を見る限り、以下のコードでTooltip表示できるように思います。
25
+ [公式のドキュメント](https://getuikit.com/docs/tooltip)を見る限り、以下のコードでTooltipを非表示できるように思います。
20
26
 
21
27
 
22
28
 
@@ -38,7 +44,7 @@
38
44
 
39
45
 
40
46
 
41
- しかし実際は、`Tooltipは非表示`は出力されますが`e.preventDefault();`は書き方を間違えているのかTooltipが表示されてしまいます。
47
+ しかし実際は、`Tooltipは非表示`は出力されますが`e.preventDefault();`は書き方を間違えているのかTooltipが表示されてしまいます。
42
48
 
43
49
 
44
50