編集#2:
JSフィドルを作成しました... http://jsfiddle.net/N2p6G/(正しく機能すると確信しているものをハードコーディングしましたが、問題はまだあります)
オリジナル:
それで、私は何万行ものjavascriptを書き、このようなコードを何百回も使用しましたが、何が起こっているのかわかりません。
blacklistitembutton.onclick = function() {
console.log("clicked.");
}
上記のコードは機能していないようです...そして理由がわかりません
実際、私は同じファイルで以前に同じ方法を使用しています...そしてそれはうまくいきます!
settings.onclick = function() {
settings_popup.toggle();
}
編集:
forループで実行されているという事実と関係があるのでしょうか。これがコードです...
var blacklistButton = document.createElement('input');
blacklistButton.type = 'button';
blacklistButton.value = "Add Current Site to Blacklist";
blacklistButton.onclick = function() {
console.log('blacklistButton clicked');
}
for (var i=0;i<blacklist.length;i++) {
var blacklistitembutton = document.createElement('div');
blacklistitembutton.type = 'button';
blacklistitembutton.blacklistValue = blacklist[i];
blacklistitembutton.value = "X";
blacklistitembutton.onclick = function() {
console.log("clicked.");
}
}
次に、blacklistButtonとすべてのblacklistitembuttonsの両方がelement.appendChildを介してドキュメントに配置されます(そしてそれらはすべて正常に表示されます!)
blacklistButton onclickは正常に起動しますが、blacklistitembuttononclickは起動しません。