我试图使用Java脚本使功能toogle层,这是代码:

$(document).ready(function(){
    function changeLayer(idSelections)
    {
        if (idSelections === "Agro Industri")
        {
            if (document.getElementById("AI").checked === true)
            {
                if(AI.getMap() === null)
                {
                    AI.setMap(map);
                }
            }
            if (document.getElementById("AI").checked === false)
            {
                AI.setMap(null); // layer set off
            }
        }
    };
});


这是HTML:

<body>
  <div class="row">
    <input type="checkbox" name="Agro Industri" value="Agro Industri" id="AI" onClick="changeLayer(this.value)"> Layer AI<br/>
  </div>

<script src="js/scripts.js"></script>

</body>


但是每当我尝试选中/取消选中该复选框时,我总是会收到此错误Uncaught ReferenceError: changeLayer is not defined。有人可以帮助解决此错误吗?

最佳答案

将功能放在文档外部。准备好文档内部的脚本将在DOM完成呈现到页面后运行。

<script>
function changeLayer(idSelections)
{
    if (idSelections === "Agro Industri")
    {
        if (document.getElementById("AI").checked === true)
        {
            if(AI.getMap() === null)
            {
                AI.setMap(map);
            }
        }
        if (document.getElementById("AI").checked === false)
        {
            AI.setMap(null); // layer set off
        }
    }
};
</script>

关于javascript - 未捕获的ReferenceError:未定义changeLayer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29961411/

10-12 07:19