私が持っているものはちょっと変わっていると思います。deleteItem
onclickでトリガーされ、次のパラメーターを持つこの関数があります
function dItem(type,id,element,confirmed){
if(confirmed){
handle delete function
}else{
var c = ',';
popup('Are you sure you want to delete this item?',
{
"Yes":"dItem('"+type+"'"+c+id+c+element+c+true+")",
"Cancel":"popupClose()"
}
)
}
}
.. onclick='dItem("comment",15,this,false)' ..
Inpopup()
の 2 番目のパラメーターには、ポップアップに表示されるボタンと、それぞれが呼び出す関数が渡されます。問題は、それelement
がHTMLDIV element
文字列を介して渡すためのきちんとした方法を理解できないことです。私が考えることができる唯一の解決策は、問題の要素を保持し、それをまったく渡さないグローバル変数を持つことですが、それは解決策ではなくハックであるため、実際にはそうしたくありません。その要素を文字列に渡す方法を知っている人はいますか? 前もって感謝します!
編集:
これは、ボタン オブジェクトb
が処理されて に変換される方法HTML
です。文字列形式の名前だけでなく、実際の関数を指定する方法がわかりますか?
var _b = '';
for(var i in b){
_b+="<div onclick='"+b[i]+"'>"+i+"</div>";
}