回答編集履歴

2

e.CodeだとEdgeHTMLだけ値が取得できていなかったのでe.Keyに修正

2020/03/24 10:43

投稿

len_souko
len_souko

スコア1348

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  {
36
36
 
37
- if (e.Code == "Enter")
37
+ if (e.Key == "Enter")
38
38
 
39
39
  {
40
40
 
@@ -97,3 +97,17 @@
97
97
  ってところでNGキーの場合だけ入力をキャンセルしてそれ以外は入力を受け入れると判断したのでこんな形になった
98
98
 
99
99
  ちゃうかったらごめんね
100
+
101
+
102
+
103
+ 2020/03/24 19:31 編集 : e.CodeだとEdgeHTMLだけ値が取得できていなかったのでe.Keyに修正
104
+
105
+ 動作確認したのは以下のブラウザ
106
+
107
+ Edge(EdgeHTMLの方)
108
+
109
+ Edge(Chroniumのベータ版の方)
110
+
111
+ Chrome
112
+
113
+ Firefox

1

送信エラーで編集内容が途中の内容に戻ってしまってたのでブラウザバックで復元してコピペやり直し

2020/03/24 10:43

投稿

len_souko
len_souko

スコア1348

test CHANGED
@@ -24,11 +24,7 @@
24
24
 
25
25
  string txtarea { get; set; } = string.Empty;
26
26
 
27
-
28
-
29
27
  string msg { get; set; } = string.Empty;
30
-
31
-
32
28
 
33
29
  bool isPrEvDef { get; set; } = false;
34
30
 
@@ -60,8 +56,6 @@
60
56
 
61
57
  }
62
58
 
63
-
64
-
65
59
  }
66
60
 
67
61
  ```
@@ -69,3 +63,37 @@
69
63
 
70
64
 
71
65
  エンター押しても改行されない
66
+
67
+ ちなみに、onkeypressに変更してもエンターで改行されなかった
68
+
69
+
70
+
71
+ htmlに```@onkeydown:preventDefault="isPrEvDef"```を埋め込んで、
72
+
73
+ code部分に```bool isPrEvDef```を定義してやってイベントを止めたいときは```true```にしてそれ以外の場合は```false```にすればおk
74
+
75
+
76
+
77
+ [@on{EVENT}:preventDefault](https://docs.microsoft.com/ja-jp/aspnet/core/mvc/views/razor?view=aspnetcore-3.1#oneventpreventdefault)
78
+
79
+
80
+
81
+ > イベントの既定のアクションを禁止します。
82
+
83
+
84
+
85
+ ってのと、
86
+
87
+
88
+
89
+ [既定のアクションを止める](https://docs.microsoft.com/ja-jp/aspnet/core/blazor/event-handling?view=aspnetcore-3.1#prevent-default-actions)
90
+
91
+
92
+
93
+ > 値なしで @on{EVENT}:preventDefault 属性を指定することは、@on{EVENT}:preventDefault="true" と同じことになります。
94
+
95
+
96
+
97
+ ってところでNGキーの場合だけ入力をキャンセルしてそれ以外は入力を受け入れると判断したのでこんな形になった
98
+
99
+ ちゃうかったらごめんね