javascript - 在页面加载时通过标记名称内联添加一个函数,例如 onmouseover

标签 javascript html

我需要知道如何在标签中添加功能,这很重要,因为 ID 和类不同,我需要使用相同的标签名称应用 JavaScript 方法。到目前为止,这就是我的想法,并且正在努力让它发挥作用。

<!DOCTYPE html>
<html>
<body onload="myFunction()">

<select>
    <option>1</option>
</select>
<br/>
<select>
    <option>1</option>
</select>

<script>
function myFunction()
{
    var elem = document.getElementsByTagName("SELECT");
    for (var i = 0;i < elem.length; i++)
    {
        elem[i].onmouseover = "this.style.background='red'";
    }
}
</script>

</body>
</html>

最佳答案

事件处理程序是函数,因此:

elem[i].onmouseover = function() {
    this.style.background='red';
}

当您直接在 HTML 中添加事件处理程序时,例如 <div onmouseover="this.style.background='red'"></div> ,包装函数是隐式的。从 JavaScript 附加处理程序时,它是强制性的,它的主体应该是常规代码,而不是字符串。

关于javascript - 在页面加载时通过标记名称内联添加一个函数,例如 onmouseover,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16159713/

相关文章:

javascript - 为什么 Chrome 不显示我的 User Timing API 使用情况的任何数据?

javascript - 具有路径和 equalTo bool 值的 Firebase orderByChild 不会返回任何内容

javascript - 单击 jQuery 按钮内的 span

html - 如何在 css 中制作滑雪板(或挤压矩形)形状的 div?

html - 更改弹出菜单按钮的颜色

Javascript 从给定的 Javascript 对象参数访问嵌套的 HTML 元素

javascript - JavaScript 是否具有与 LINQ 的 Select 语句类似的功能?

javascript - 为什么 jquery 循环不起作用

javascript - Particles.js 不与光标交互

html - 如何重置 panzoom.js 的坐标?