onclick from variable

Ярослав

Новичок
onclick from variable

PHP:
var str = new String("alert('hello')");
td.onclick = function () {
   eval(str);
}
как привести к такому
PHP:
var str = new String("alert('hello')");
td.onclick = function () {
   alert("hello");
}
тоисть чтобы eval(str) стало alert('hello')
Наверное ламерский вопрос но ума не приложу как решыть
 

Ярослав

Новичок
у меня есть в переменной функция alert('hello') как мне присвоить ее обработчику onclick?
просто напрямую не катит td.onclick = str;
нужно через td.onclick = function () {
str; //как сдесь сделать чтоб вместо str было alert?
}
 

Ярослав

Новичок
Автор оригинала: mishco
:confused:

var str = function () { alert("hello"); }
td.onclick = str;

?
сказано же достать alert("hello"); с переменной!
вот если запишешь так
var event = "alert(\"hello\");"
var str = function () { event}
td.onclick = str;
работать не будет
а нужно чтоб работало
как решыть?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума

ksnk

прохожий
а ларчик просто открывался...
PHP:
var str = new String("alert('hello')");
td.onclick = new Function(str);
Function
 

dimagolov

Новичок
мда... можно по-разному извращаться. мне до сих пор не понятно зачем загонять код обработчика в строку а потом по ней конструировать функцию.
 

Ярослав

Новичок
Автор оригинала: dimagolov
мда... можно по-разному извращаться. мне до сих пор не понятно зачем загонять код обработчика в строку а потом по ней конструировать функцию.
Ajax возвращал данные td в масиве (data => 'test', onclick => 'bla-bla')
вот в цыкле и надо было строить контент на жабаскрипт
но я понял что тут действительно грабли и изменил алгоритм

-~{}~ 02.07.07 18:08:

Автор оригинала: ksnk
а ларчик просто открывался...
PHP:
var str = new String("alert('hello')");
td.onclick = new Function(str);
Function
Спасибо
Ответ верный.
Теперь буду знать.
P.S. Самое главное так делал но function ставил с маленькой буквы:(
 
Сверху