php - 案例, "document.ready"阻塞时

标签 php javascript jquery

我有 php 文件,在这个文件中我有以下代码:

    <script language="JavaScript" type="text/javascript" src="jquery.js"></script>
    <script language="JavaScript">
        $(document).ready( function () {
            var myvar = <?php   echo json_encode($myvar);   ?> ;
        });
    </script>
    <script language="JavaScript" type="text/javascript" src="costum.js">  </script>

在 costum.js 文件中我有代码:

$(document).ready( function () {
    alert(myvar );
});

这不起作用,错误控制台返回“myvar 未定义”

如果在 php 文件中我写了这个(即没有“document.ready”)

 <script language="JavaScript">
     var myvar = <?php   echo json_encode($myvar);   ?> ;
 </script>

在costum.js文件中,代码已经可以工作了。请告知为什么会发生这种情况?

最佳答案

尝试

<script>
    var myvar;
    $(document).ready( function () {
        myvar = <?php   echo json_encode($myvar);   ?> ;
    });
</script>

您的变量必须声明为全局变量(或者换句话说,在外部作用域中)才能从两个 document.ready 函数中查看。

作为旁注,language 属性不是必需的。甚至 type 也不是必需的(如果您使用 html5 doctype)

关于php - 案例, "document.ready"阻塞时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12248366/

相关文章:

php - IP2LOCATION - SQL 查询与二进制文件?

javascript - 基于百分比的值概率

javascript - Angular 6 从谷歌地图中删除所有标记

javascript - 如何编辑悬停时对象的样式?

javascript - JS/ES6 : Destructuring of undefined

jquery - HTML 将 iframe 调整为响应式 iframe

javascript - 窗口滚动后淡入和淡出多次发生

php - fatal error : Uncaught Error: Call to undefined function - have to use $this

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

javascript - 如何将取消全选按钮添加到与脚本一起更改类别的已检查输入列表