私はjavascriptで多くの知識を持っていないので、ここで何が問題なのか分かりません jsでdivを動的に作成し、各divをクリックすると関数が呼び出されます。再編成されません。これはコードJavascript関数が認識されない
for (......) {
var listatema = document.createElement("div");
listatema.innerHTML += "<a href='javascript: void(0)' onClick='functest(" + pag + ")'>" + temat + "</a>";
document.getElementById('menu').appendChild(listatema);}
}
「トピック」の部分がテキストである、関数「functestは、」引数「PAG [AUX]」、これは数であります。
機能は次のとおりです。私が試した
function functest(arg){
console.log(arg)
}
他の代替は、それを変更です:onClick='"+ functest(pag) +"'
:
私は引用符「」と機能の作業良いの位置を変えますが、ときに実行されますページが読み込まれ、クリックするのを待つことはありません。
:)ことができれば、それはそれを避けることをお勧めですJSFiddleで同様のソリューション本当に面白いのは、**最初の**ソリューションがコードスニペットで完璧に動作することですが、JSFiddleで関数が定義されていないことを示しています。あなたのコードを正確にコピーしました。なぜこのようなアイデアですか? [フィドル](https://jsfiddle.net/Obsidian_Age/yrL8ybgm/)。あなたの2番目の解決策は、両方の場所でうまく動作しているようです:) –
jsFiddleでスクリプトがどのように注入されるのでしょうか。私は、関数が 'onLoad'ハンドラにカプセル化されているためだと思うので、グローバルなスコープには巻き込まれません。 HTMLに埋め込みスクリプトを追加すると、https://jsfiddle.net/msindwan/yrL8ybgm/1/のように動作します。 –
それはそうですね!私は質問をした人ではありませんでしたが、あなたはまだJSFiddleの限定された範囲を指摘するのに私にとって大きな助けになりました。私はあなたの答えをもう一度upvotedしかし、私もあなたのコメントのためのいくつかの担当者を授賞することができたらいいと思う;) –