data
は文字列と連結した時点で String
型に変換される為、期待通りに動作しません。
data
がグローバル変数であるならば、data
も文字列として埋め込む事で期待通りに動作すると思われます。
JavaScript
1var a ='<a href="#" onclick = "testFunction(data) ; return false;">click</a>';
ただし、リンクではないのにa要素を使っていたり、testFunction
をグローバルスコープに盛っていたり、良い実装ではない部分も見受けられ宇野で設計から変えた方がスマートだとは思います。
JavaScript
1<p id="aaa"></p>
2<p id="bbb"></p>
3
4<script>
5'use strict';
6(function () {
7 function handleClick (event) {
8 var doc = event.target.ownerDocument;
9
10 doc.getElementById('aaa').textContent = this.a;
11 doc.getElementById('bbb').textContent = this.b;
12 }
13
14 function main () {
15 var doc = document,
16 p = doc.createElement('p'),
17 afterNode = doc.getElementById('aaa'),
18 data = {a: 1, b: 2};
19
20 p.textContent = 'Click Me!';
21 data.handleEvent = handleClick;
22 p.addEventListener('click', data, false);
23 afterNode.parentNode.insertBefore(p, afterNode);
24 }
25
26 main();
27}());
28</script>
Re: miyazaki さん
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/12/09 03:06