我猜我有點不同尋常。我有此功能deleteItem
其的onclick觸發,並具有以下參數通過字符串將html對象傳遞到函數中
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)' ..
在popup()
的第二個參數被傳遞要被顯示在彈出的按鈕和功能它們分別調用。問題是,element
是一個HTMLDIV element
,我不能找出一個簡潔的方式來通過一個字符串。我能想到的唯一解決方案是擁有一個全局變量來保存有問題的元素,而不是傳遞它,儘管我不想那麼做,因爲它更像是一種黑客而不是解決方案。有人知道我如何通過字符串傳遞該元素嗎?提前致謝!
EDIT:
這是b
正在處理,變成HTML
按鈕如何對象。你看到我可以提供一個實際的功能,而不是以字符串形式的名稱?
var _b = '';
for(var i in b){
_b+="<div onclick='"+b[i]+"'>"+i+"</div>";
}
也許不是通過DOM元素,而是通過元素的ID和使用的document.getElementById –
當你雖然運行代碼當前會發生什麼?我沒有看到你的代碼不能正常工作的原因:/與傳遞整個元素相反,你爲什麼不傳遞它的ID? – ninty9notout
因爲元素沒有ID。不幸的是,我想不得不破解它是唯一的方法 –