在页面加载时,通过标签名内联添加一个函数,如onmouseover
add a function by Tag Name inline like onmouseover when the page loads
我需要知道如何在标签内添加函数,这很重要,因为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附加处理程序时,它是强制性的,并且它的主体应该是常规代码,而不是字符串。
你可以试试这个
window.onload=function(){
var elem = document.getElementsByTagName("SELECT");
for (var i = 0;i < elem.length; i++)
{
elem[i].onmouseover = function(){ this.style.background='red'; }
elem[i].onmouseout = function(){ this.style.background='white'; }
}
};
演示。
您可以尝试这样做(包括在HTML中进行一些修复):
<!DOCTYPE html>
<html><head><title>Demo</title>
<script type='text/javascript'>//<![CDATA[
function highlight(){
this.style.background='red';
}
window.onload=function(){
var col = document.getElementsByTagName('select'), L=col.length;
while(L--){ col[L].addEventListener("mouseover", highlight, false); }
};
//]]>
</script>
</head><body>
<select>
<option>1</option>
</select>
<br/>
<select>
<option>1</option>
</select>
</body></html>
JSFiddle here.
如果你想要颜色切换,用这样的东西替换javascript:
function highlight(){
var ts=this.style;
ts.backgroundColor = ts.backgroundColor === 'red' ? '' : 'red';
}
window.onload=function(){
var col = document.getElementsByTagName('select'), L=col.length;
while(L--){
col[L].addEventListener("mouseover", highlight, false);
col[L].addEventListener("mouseout", highlight, false);
}
};
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- javascript onmouseover/omouseout停留在前一个内容中,直到悬停/触发下一个内容
- 如果没有jquery,我需要确定鼠标是否在一个元素上,而不是确定它何时结束(以防它没有移动来触发onmouseover)
- 如何让onmouseover交换事件一直保持到onmouseout,直到下一个onmousever事件
- 从一系列onMouseOver事件中创建一个循环
- 如何显示一个小窗口与onmouseover
- 如何在jQuery中分配动态元素id当onMouseOver在一个href标签
- 我如何使用VBA找到一个onmouseover元素
- 在页面加载时,通过标签名内联添加一个函数,如onmouseover
- 两个ONMOUSEOVER在一个源上.Javascript
- 我如何给一个.gif高度和宽度时插入onMouseOver
- 如何做一个onmouseover文本绑定