生成したドロップダウン メニューは Firefox と IE では機能しますが、Google Chrome では機能しません。私は持っている
function characterList(){
//code removed that generates select list
var optionContainer = document.createElement("option");
optionContainer.innerHTML = "Show All Character Lines";
addEvent(optionContainer, "click", filterChar, false);
selectContainer.appendChild(optionContainer); //appends option to select menu
for (var i = 0; i < menu_lines; i++){
var optionContainer1 = document.createElement("option");
optionContainer1.innerHTML = "blah" //simplified so that names in menu are all "blah"
selectContainer.appendChild(optionContainer1);//appends option to select menu
addEvent(optionContainer1, "click", filterChar, false);//I think the problem is here.
}
}
function filterChar(){
alert("filterChar");
}
function addEvent(object, evName, fnName, cap) {
if (object.attachEvent)
object.attachEvent("on" + evName, fnName);
else if (object.addEventListener)
object.addEventListener(evName, fnName, cap);
}
characterList は、HTML ファイルの h3 見出しから取得した名前を (選択オプション タイプの) ドロップダウン メニューに取り込みます。これはうまくいきます。問題は、Google Chrome では、ドロップダウン メニューのクリック時に filterChar が呼び出されないことです。すべてのブラウザーと互換性があるはずの関数 (attachEvent) が与えられています。誰か助けてください。