ajax提交一个页面到另一个页面中的div中,这个页面中有一个
<script type="text/javascript">
    alert('test');
</script>,这个不执行
添上 defer="defer"也不执行

解决方案 »

  1.   

    不执行是因为将其视作文本了
    你用下边的方法试试
    var str = '???';
    var aaa=eval("("+str+")");

    var aaa=new Function("return"+str)();
      

  2.   

    你用ajax加載回來的 可能已經將javascript的執行時間錯過了..
    或者是转换成了text了.
    用jquery的话呢 就写live来进行绑定事件.
      

  3.   

    我们这个现在与JQUERY有冲突,我用defer来延迟加载了呀,而且本页面的其他同样的方法可以处理
      

  4.   

    你是将AJAX加载的javascript innerHTML(或者其他加载方法直接“拼”到HTML里) 到了 DIV 里了吗,那么是不会执行的。浏览器只在加载页面时执行存在于DIV里的script块,期间用JS加载进去的script块不会被执行。你可以eval那个alert代码,或者直接加载script类型的JS代码。
      

  5.   

    不知道这是怎么样的问题,写在本页面的其他位置就可以,我把这段代码写进入上面定义的script中了,现在可以执行,但还是不知道原因,再有就是不用defer在哪都不执行,用了之后在FF,和google浏览器中不兼容,有没有更好的解决方法
      

  6.   

    通过 ajax 返回的 js 脚本是不会自动运行的
    你可能需要分别返回 html 代码和 js 代码,并通过 eval 函数来运行 js 代码
    对这一点你应该在设计 ajax 时就考虑到