Jquery脚本事件处理程序不工作时追加


Jquery script event handler not working when appended

我有以下jquery脚本,我想工作

<?php
$script=<<<SCRIPT
$("#btn").click(function(){
   alert("hello");
});
SCRIPT;
$html=<<<HTML
<input type="button" id="btn" value="clickme">
HTML;
?>
<script type="text/javascript">
$.globalEval('$("#divhoho").prepend("<?php echo $script; ?><script><?php echo $html; ?></script>");');
</script>
<div id='divhoho'></div>

问题是我在div上添加的事件处理程序对我添加的html也不起作用

我还尝试了jquery live()
<?php
    $script=<<<SCRIPT
    $("#btn").live({
            click: function(){
                alert("hello");
            }
            });
    SCRIPT;
   $html=<<<HTML
          <input type="button" id="btn" value="clickme">
    HTML;
?>
        <script type="text/javascript">
        $.globalEval('$("#divhoho").prepend("<?php echo $script; ?><script><?php echo $html; ?></script>");');
       </script>

        <div id='divhoho'></div>

仍然不工作…这个算法可行吗?谢谢注:php heredocs中的值已经用换行符清除,因此不会产生任何javascript错误

试试这个,

$("#btn").live('click' ,function(){
                alert('hello');
            }
);