動的に生成された要素のonclickイベントに引数を渡そうとしています。私はすでに既存のstackoveflowの質問を見てきましたが、私の特定の必要性には答えませんでした。この既存の質問では、$(this).text()を使ってデータにアクセスしようとしています。私は私の例でこれを使用することはできません。以下のコードスニペットで動的に生成された要素のクリック時に引数を渡す
Click event doesn't work on dynamically generated elements
、私はonclickのイベントにプログラムやmacroValに合格しようとしていますが、それは動作しません。
onClickTest = function(text, type) {
if(text != ""){
// The HTML that will be returned
var program = this.buffer.program;
var out = "<span class=\"";
out += type + " consolas-text";
if (type === "macro" && program) {
var macroVal = text.substring(1, text.length-1);
out += " macro1 program='" + program + "' macroVal='" + macroVal + "'";
}
out += "\">";
out += text;
out += "</span>";
console.log("out " + out);
$("p").on("click" , "span.macro1" , function(e)
{
BqlUtil.myFunction(program, macroVal);
});
}else{
var out = text;
}
return out;
}アウト私にこの
<span class="macro consolas-text macro1 program='test1' macroVal='test2'">{TEST}</span>
を与えるの
にconsole.log私はthis.programとプログラムの両方を試してみましたが、それは動作しません。あなたがHTMLに含めるため、
偶数ハンドラコードをonClickTestの外側に移動しました。私は後でそれを関数の内部に置くと、関数が全くトリガされず、一循環関数のみがトリガされていることに気付きました。引数を渡す方法のサンプルコードスニペットを教えてください。 – user911
@ user911 - はい、私はそれを私の答えに加えました。あなたは間違ったhtmlを作り出しています。 'return out;'の前に 'console.log(out);'を呼び出し、結果を注意深く調べます。 – Igor
あなたの回答は私のHTML引用問題を解決するのに役立ちましたが、引き続き引数を渡すことができません。私はあなたの答えをupvotedしても、それを受け入れることはできません。私はthis.programとprogramの両方を試しました。それは動作しません。引用問題を解決するために私の質問を更新しました。確認してください。 – user911