Я сделал это немного по-другому, и использовал php land, чтобы сделать это проще. (Мне не нравится использовать eval, и при этом я не люблю громких заметных переписываний).
Я поместил все свои jquery в строку php примерно так (в реальной жизни было намного больше JavaScript)
$out .= " $('#save_now').button(); \n";
$out .= " $('#save_now').click( function() {\n";
$out .= " return false;\n";
$out .= " }); \n";
тогда тоже в php land
echo "<script>\n";
echo " function onOpen(){ \n";
echo $out;
echo " } \n";
echo "</script>\n";
затем в вызове jQuery $ .ajax я делаю это
$.ajax({
url: geturl,
type: 'post',
data: getparams,
success: function(data) {
mydiv.html(data);
onOpen();
},
cache: false
});
как вы можете видеть, вы не нуждаетесь в php land, просто в моей кодовой базе мне это как-то нужно. хитрость заключается в том, чтобы покончить с $(document).ready(function(){});
и бросить свой собственный