javascript - 传递对对象 javascript 函数的引用

标签 javascript html

我有一个函数在传递“This”的控件更新期间被调用,因此该函数知道正在更新的控件。我还在页面加载时调用该函数以获取初始值,但发送 document.getElementById() 似乎不起作用。我应该在这里传递什么?

例如:

    <script type="text/javascript">

    window.onload = function () {
        alert("Got to window.onload");
        materialSelectionChange(document.getElementById('SquaresDropDownList'));

    };


</script>

在js文件中...

function materialSelectionChange(obj) {

alert("Got into function");
}

此外,它确实在更改时正确触发 js 函数

编辑

问题好像出在JS文档的加载时间上。该函数此时未成功调用,因为显然 JS 文件尚未完成加载。可能是因为 window.onload。如果我将函数移动到页面而不是 JS 文件中,它就会起作用。有没有一种方法可以添加延迟,以便我知道页面及其组件已完全加载?

最佳答案

您没有委托(delegate)窗口加载事件,您正在调用它,还有您在 id 周围缺少的引号:

window.onload = myFunction(document.getElementById(typeSelect));

尝试将其包裹起来:

window.onload = function() {
     myFunction(document.getElementById('typeSelect')); //id in quotes
};

编辑

你必须注意js文件的导入,导入必须在调用函数之前首先进行:

<script src='your-script-file.js'></script>

<script type="text/javascript">
    window.onload = function () {
        materialSelectionChange(document.getElementById('SquaresDropDownList'));
    };
</script>

关于javascript - 传递对对象 javascript 函数的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27976096/

相关文章:

javascript - 通过单击缩放按钮放大和缩小图像 (Javascript)

javascript - .html() 之后找不到 Jquery id

html - 使用 css 在图像上叠加

javascript - 在 JavaScript 中添加事件的最佳方式是什么?

页面上的 HTML 完全损坏

javascript - 仅当值不存在时才使用 lodash 推送到数组?

javascript - React Redux 无法与 Next.js 和 NodeJS 一起正常工作

javascript - 从数据库中获取嵌套 JSON 的最佳方法是什么?

javascript - javascript中同一类(对象)中的静态和非静态数据

html - 在 iPad/平板电脑上查看页脚后出现大量死 Angular