Я хочу иметь возможность сделать это
$('.class').bind({'click':'function(){ ... }'}); // note that the value is a string
и каким-то образом, проверяя внутри перехваченного «связывания», что это действительно функция, и eval()
или new Function
строка, так чтобудет правильно назначен как событие.
Причина, по которой я хочу это сделать, заключается в том, что JSON не позволяет определять функции как значения, только строки / целые.Я хотел бы найти способ применить это для всех функций jquery (таких как animate (), click (), live () и т. Д.), Которые принимают обработчик / функцию в качестве параметра.я думаю, это было бы очень хлопотно и стало бы непрактичным после каждой новой версии jQuery
Или есть ли лучший способ сделать это? проверка первых 8 символов, еслиони === 'function' и затем eval, это не очень хорошая идея, так как это может быть "легитимной" текстовой строкой.Я попытался передать функцию в результате ответа JSON ajax, но $ .parseJSON потерпел неудачу молча.