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

回答編集履歴

2

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

2020/03/24 10:43

投稿

len_souko
len_souko

スコア1367

answer CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  private void inputEnter(KeyboardEventArgs e)
18
18
  {
19
- if (e.Code == "Enter")
19
+ if (e.Key == "Enter")
20
20
  {
21
21
  msg = "エンターはダメよ!";
22
22
  isPrEvDef = true;
@@ -47,4 +47,11 @@
47
47
  > 値なしで @on{EVENT}:preventDefault 属性を指定することは、@on{EVENT}:preventDefault="true" と同じことになります。
48
48
 
49
49
  ってところでNGキーの場合だけ入力をキャンセルしてそれ以外は入力を受け入れると判断したのでこんな形になった
50
- ちゃうかったらごめんね
50
+ ちゃうかったらごめんね
51
+
52
+ 2020/03/24 19:31 編集 : e.CodeだとEdgeHTMLだけ値が取得できていなかったのでe.Keyに修正
53
+ 動作確認したのは以下のブラウザ
54
+ Edge(EdgeHTMLの方)
55
+ Edge(Chroniumのベータ版の方)
56
+ Chrome
57
+ Firefox

1

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

2020/03/24 10:43

投稿

len_souko
len_souko

スコア1367

answer CHANGED
@@ -11,9 +11,7 @@
11
11
  @code
12
12
  {
13
13
  string txtarea { get; set; } = string.Empty;
14
-
15
14
  string msg { get; set; } = string.Empty;
16
-
17
15
  bool isPrEvDef { get; set; } = false;
18
16
 
19
17
  private void inputEnter(KeyboardEventArgs e)
@@ -29,8 +27,24 @@
29
27
  isPrEvDef = false;
30
28
  }
31
29
  }
32
-
33
30
  }
34
31
  ```
35
32
 
36
- エンター押しても改行されない
33
+ エンター押しても改行されない
34
+ ちなみに、onkeypressに変更してもエンターで改行されなかった
35
+
36
+ htmlに```@onkeydown:preventDefault="isPrEvDef"```を埋め込んで、
37
+ code部分に```bool isPrEvDef```を定義してやってイベントを止めたいときは```true```にしてそれ以外の場合は```false```にすればおk
38
+
39
+ [@on{EVENT}:preventDefault](https://docs.microsoft.com/ja-jp/aspnet/core/mvc/views/razor?view=aspnetcore-3.1#oneventpreventdefault)
40
+
41
+ > イベントの既定のアクションを禁止します。
42
+
43
+ ってのと、
44
+
45
+ [既定のアクションを止める](https://docs.microsoft.com/ja-jp/aspnet/core/blazor/event-handling?view=aspnetcore-3.1#prevent-default-actions)
46
+
47
+ > 値なしで @on{EVENT}:preventDefault 属性を指定することは、@on{EVENT}:preventDefault="true" と同じことになります。
48
+
49
+ ってところでNGキーの場合だけ入力をキャンセルしてそれ以外は入力を受け入れると判断したのでこんな形になった
50
+ ちゃうかったらごめんね