Что я имею, как бы необычно, я думаю. У меня есть эта функция 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()
«s передаются кнопки, которые будут отображаться во всплывающем окне и функции, которые они называют соответственно , Проблема в том, что element
- это HTMLDIV element
, и я не могу понять, какой способ передать это через строку. Единственное решение, о котором я мог подумать, - это иметь глобальную переменную, содержащую данный элемент и не передавать его вообще, хотя я действительно не хочу этого делать, поскольку это скорее хак, а не решение. Кто-нибудь знает, как я могу передать этот элемент через строку? Заранее спасибо!
EDIT:
Это как объект кнопки b
обрабатывается и превращается в HTML
. Вы видите, как я могу предоставить ему фактическую функцию вместо имени в виде строки?
var _b = '';
for(var i in b){
_b+="<div onclick='"+b[i]+"'>"+i+"</div>";
}
Может не пройти элемент DOM, но передать идентификатор элемента и использовать document.getElementById –
Что в настоящее время происходит, когда вы запустите код, хотя? Я не вижу причины, по которой ваш код не работает:/В отличие от прохода всего элемента, почему бы вам не передать его идентификатор? – ninty9notout
Поскольку элемент не имеет идентификатора. К сожалению, мне кажется, что нужно взломать это единственный способ. –