回答編集履歴
2
表現修正
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タグ本来の動作でリンク先にページ遷移してしまっているのではないかと思います。
|
16
|
+
javascriptの実行がエラーで中断されたあと、Aタグ本来の動作でリンク先にページ遷移してしまっているのではないかと思います。
|
17
17
|
|
18
|
-
以下の例を参考にしてみてください。
|
18
|
+
対策としては、イベントハンドラが戻り値でfalseを戻した場合はその要素が本来の動作を行わなくなりますので、それを利用するのがよいでしょう。以下の例を参考にしてみてください。
|
19
19
|
|
20
20
|
```html
|
21
21
|
<script>
|
1
表現修正
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
`<a href="https://www.yahoo.co.jp/" onclick="check();">link</a>`のような呼び出し方をしていませんか?
|
13
13
|
|
14
|
-
キャンセルを押された
|
14
|
+
キャンセルを押されたとき、`prompt()`はnullを返すので`pass`にはnullが代入されます。そしてnullはmatchメソッドを持たないために`pass.match(/^.+@daigaku.jp$/)`がシステムエラーを発生させます。その結果、javascriptの実行は中断されてしまいます。
|
15
15
|
|
16
16
|
javascriptの実行がエラーで中断されたあと、Aタグ本来の動作でリンク先にページ遷移してしまっているのではないかと思います。イベントハンドラが戻り値でfalseを戻した場合はその要素が本来の動作を行わなくなります。
|
17
17
|
|