我猜我所拥有的有点不寻常。我有这个deleteItem
在点击时触发的功能,并具有以下参数
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
,我想不出一种巧妙的方法来通过一个字符串传递它。我能想到的唯一解决方案是有一个全局变量来保存有问题的元素并且根本不传递它,尽管我真的不想这样做,因为它更像是一种破解而不是解决方案。有谁知道我如何通过字符串传递该元素?提前致谢!
编辑:
这就是按钮对象b
被处理并转换为HTML
. 你知道我如何为它提供一个实际的函数,而不仅仅是一个字符串形式的名称吗?
var _b = '';
for(var i in b){
_b+="<div onclick='"+b[i]+"'>"+i+"</div>";
}