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

回答編集履歴

2

表現修正

2017/04/04 11:25

投稿

ku__ra__ge
ku__ra__ge

スコア4524

answer CHANGED
@@ -13,9 +13,9 @@
13
13
 
14
14
  キャンセルを押されたとき、`prompt()`はnullを返すので`pass`にはnullが代入されます。そしてnullはmatchメソッドを持たないために`pass.match(/^.+@daigaku.jp$/)`がシステムエラーを発生させます。その結果、javascriptの実行は中断されてしまいます。
15
15
 
16
- javascriptの実行がエラーで中断されたあと、Aタグ本来の動作でリンク先にページ遷移してしまっているのではないかと思います。イベントハンドラが戻り値でfalseを戻した場合はその要素が本来の動作を行わなくなります。
16
+ javascriptの実行がエラーで中断されたあと、Aタグ本来の動作でリンク先にページ遷移してしまっているのではないかと思います。
17
17
 
18
- 以下の例を参考にしてみてください。
18
+ 対策としては、イベントハンドラが戻り値でfalseを戻した場合はその要素が本来の動作を行わなくなりますので、それを利用するのがよいでしょう。以下の例を参考にしてみてください。
19
19
 
20
20
  ```html
21
21
  <script>

1

表現修正

2017/04/04 11:25

投稿

ku__ra__ge
ku__ra__ge

スコア4524

answer CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  `<a href="https://www.yahoo.co.jp/" onclick="check();">link</a>`のような呼び出し方をしていませんか?
13
13
 
14
- キャンセルを押された場合、`prompt()`はnullを返ます。そして`null.match(/^.+@daigaku.jp$/)`はnullmatchメソッドを持たないためにシステムエラーを発生させjavascriptの実行中断さてしまいます。
14
+ キャンセルを押されたとき、`prompt()`はnullを返すので`pass`にはnullが代入されます。そしてnullはmatchメソッドを持たないために`pass.match(/^.+@daigaku.jp$/)`がシステムエラーを発生させます。その結果、javascriptの実行中断さてしまいます。
15
15
 
16
16
  javascriptの実行がエラーで中断されたあと、Aタグ本来の動作でリンク先にページ遷移してしまっているのではないかと思います。イベントハンドラが戻り値でfalseを戻した場合はその要素が本来の動作を行わなくなります。
17
17