回答編集履歴
2
コメントで教えていただいた方法を追記
test
CHANGED
@@ -8,7 +8,11 @@
|
|
8
8
|
|
9
9
|
- `<input>`が持つプロパティ名と被らないように`onclick="~"`を指定する(姑息的)
|
10
10
|
|
11
|
+
(ただし後述するように`document`(場合によっては`<form>`も)が持つプロパティとも被らないにする必要があります。)
|
12
|
+
|
13
|
+
- [追記] `onclick="window.list()"`のようにグローバルオブジェクトを経由する(コメントで教えて頂きました)
|
14
|
+
|
11
|
-
- `addEventListener`を使ってイベントハンドラを追加する(オススメ)
|
15
|
+
- `addEventListener`を使ってイベントハンドラを追加する(一番オススメ)
|
12
16
|
|
13
17
|
|
14
18
|
|
@@ -18,7 +22,7 @@
|
|
18
22
|
|
19
23
|
`<input>`が持つプロパティは山ほどありますから(alt, checked, list, max, min, name, readonly, size, src, type, value, width...などなど)、被らないようにするというのは意外と難しいです。
|
20
24
|
|
21
|
-
|
25
|
+
これは`addEventListener`をおすすめする理由の一つでもあります。
|
22
26
|
|
23
27
|
|
24
28
|
|
@@ -67,3 +71,5 @@
|
|
67
71
|
|
68
72
|
|
69
73
|
参考:[Qiita HTMLのイベント属性(onclickなど)のスコープについて](http://qiita.com/hakatashi/items/40fbedf61a3dd79f21fc)
|
74
|
+
|
75
|
+
(参考ページでは`with(document){}`について触れられていませんが、上の例のように`document`のプロパティも確かに拾うので注意です。)
|
1
誤字
test
CHANGED
@@ -62,7 +62,7 @@
|
|
62
62
|
|
63
63
|
`<input onclick="submit">`と書いたら`<form>`のsubmitメソッドが参照されますし、
|
64
64
|
|
65
|
-
`<input onclick="write">`と書いたら`document.write`
|
65
|
+
`<input onclick="write">`と書いたら`document.write`が参照されます。
|
66
66
|
|
67
67
|
|
68
68
|
|