javascript - getElementById() 不工作

标签 javascript jquery focus getelementbyid

以下代码位于我的 head 标签之间:

    <script type="text/javascript" src="js/jquery-2.0.3.js"></script>
    <script type="text/javascript" src="js/homepage.js"></script>  

body 某处:

    <input type="text" id="registreervoornaam" name="registreervoornaam" placeholder="Voornaam">

在我的 homepage.js 中:

window.onload=function(){
    var regname = document.getElementById("registreervoornaam");
    regname.focus = function() {
        alert("bla");
    };
};

不知何故,当我专注于输入字段时,我没有收到提醒。知道这可能是什么吗?我在 onload 中添加了该函数,否则 regname 将变为 null,因为 javascript 文件在正文之前被解析。

最佳答案

我会做些什么来解决这个问题:

  1. 查看getElementById 返回的值是否为null。如果是,则意味着页面中不存在您的元素。如果是这种情况,您可能希望将所有脚本放在标记文件的末尾,这样当加载脚本时,整个 DOM 已经加载。

  2. 如果您已经在导入 jQuery,为什么不使用它呢? :D 我会这样做:

    $("#registreervoornaam").focus(function() {
         //do stuff here that you want to be triggered on focus
    });
    
  3. 我刚刚意识到在纯 js 中没有“焦点”:/我会改用 onfocus。这里有更多详细信息>> here

祝你好运! :D

关于javascript - getElementById() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19016235/

相关文章:

javascript - jQuery 选择器找不到存在的元素

javascript - 检查表单中的多个 div,如果 div 没有指定的类,则发出警报并阻止提交

c# - wpf 键盘焦点 : losing focus after menu opens?

java - 如何在 GWT 弹出面板中将焦点设置在 TextBox 上?

javascript - 创建连接池 TypeOrm

javascript - __dirname 在带有 webpack 捆绑的 Node js 中不起作用

javascript - React 中的 useEffect 清理函数中的 refs 数组包含空值

javascript - 谷歌街景显示路线路线

javascript - 调用 javascript 修改 React 表单上的选择元素

Java Swing : How to prevent JOptionPane. showConfirmDialog() 聚焦?