javascript 给相同元素指定同一事件怎么做?

假如说是个table 给其中的多个单元格,指定一个相同事件(如:当鼠标悬停的时候更改背景色,移开恢复到以前的颜色),这个怎么做?不要给每个td 指定onmouseover 等事件、太麻烦、

var table=document.getElementById("table");
var trs = table.rows;
for(var i=1;i<trs.length;i++){
with(trs[i]){
if(i % 2 == 0){
with(this){
filters.apply();
style.background='#CBECFF';
style.border='1px solid #336699';
filters.play();
}
}else{
with(this){
filters.apply();
style.background='#F5F9FF';
style.border='1px solid #336699';
filters.play();
}
}
onclick=function(){
if(this.rowIndex != 0){
if(this.tag!='clicked'){
this.tag='clicked';
with(this){
filters.apply();
style.background='#FFD6A9';
style.border='1px solid #ffffff';
filters.play();
}
}else{
this.tag='';
if(this.rowIndex % 2 == 0){
with(this){
filters.apply();
style.background='#CBECFF';
style.border='1px solid #336699';
filters.play();
}
}else{
with(this){
filters.apply();
style.background='#F5F9FF';
style.border='1px solid #336699';
filters.play();
}
}
}
}
}
onmouseover=function(){
if(this.rowIndex != 0 && this.tag != 'clicked'){
with(this){
filters.apply();
style.background='#FFD9FB';
style.border='1px solid #ffffff';
filters.play();
}
}
}
onmouseout=function(){
if(this.rowIndex % 2 == 0){
if(this.tag != 'clicked'){
with(this){
filters.apply();
style.background='#CBECFF';
style.border='1px solid #336699';
filters.play();
}
}
}else{
if(this.tag != 'clicked'){
with(this){
filters.apply();
style.background='#F5F9FF';
style.border='1px solid #336699';
filters.play();
}
}
}
}
}
N年前写的了,不光有悬停,还有隔行换色,单击选中等功能。
现在用jquery的selectable应该会更简单一些。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-13
JS里遍历那些需要添加事件的单元格,每个都加onmouseover事件.
1.标签里写onmouseover 事件
2.JS里遍历添加onmouseover 事件
除此之外不知道还有别的什么办法.
第2个回答  2010-06-13
用jquery很简单能实现,三个步骤
1,引入jquery
2,写一个CSS类(hover),hover是你的鼠标悬停效果,自己写吧。
3,把下面的代码拷贝到你的JS中。并将tableId替换为你的table的id。

$(document).ready(function(){
$("#tableId td").hover(
function () {
$(this).addClass("hover");
},
function () {
$(this).removeClass("hover");
}
);
});
第3个回答  2010-06-13
那就放在整个table上,因为table对外是个整体,也能控制整体的颜色。

javascript 给相同元素指定同一事件怎么做?
var table=document.getElementById("table");var trs = table.rows;for(var i=1;i<trs.length;i++){ with(trs[i]){ if(i % 2 == 0){ with(this){ filters.apply();style.background='#CBECFF';style.border='1px solid #336699';filters.play();} }else{ with(this){ filters...

java script学习方法
9.Click事件和dbClick事件 onClick是单击事件,onDblClick是双击事件,而实际上很难分清连续的单击和双击。它们会互相干扰。而且在ie和其他浏览器的情况还有不同。有的浏览器是双击事件的每一次单击都会触发单击事件,而在ie中,只有双击事件的第一次单击会触发单击事件。不管怎么样,单击事件都不会自动的取消或被忽略。

应用javascript做输入年月日,计算出星期几。
当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为session id,如果已包含一个session id则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含session id,...

JavaScript文档节点和文本节点一样吗?
(2)捕获型事件(event capturing):事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定)。 (3)DOM事件流:同时支持两种事件模型:捕获型事件和冒泡型事件,但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,从document对象开始,也在document对象结束。

如何实现网页中鼠标经过一个flash按钮时改变光标图案
在FrontPage2000中,当我们打开DHTML效果工具栏后,点选文本或者图片会产生不同事件。但它们的施用方法是一样的,下面我们以文本举例: 我们先在编辑器里输入一段文本,比如:网页陶吧,然后继续下面的三个步骤: 选定一段需要产生DHTML效果的文本,这里是:网页陶吧。从DHTML效果工具栏的开启下拉列表选择一个事件。这里对于...

怎么用CSS和jQuery实现一个侧滑导航菜单
初学者可能不熟悉jQuery,让我解释一下这是怎么回事。首先,我们初始化一个变量称为$togglebutton,其中包含我们的按钮。我们将它存储为一个变量,然后我们创建一个事件监视器监听点击按钮。每单击一次,事件监听器会执行方法 function toggleclass()来切换.button-open。.button-open我们可以用它来改变这些元素的显示方式。

零基础学习前端开发要怎么开始
2、JavaScript面向对象基础、异常处理机制、常见对象api,js的兼容性、ES6新特性。熟练掌握JavaScript面向对象的开发以及掌握es6中的重要内容。3、BOM操作和DOM操作。熟练使用BOM的各种对象、熟练操作DOM的对象。4、h5相关api、canvas、ajax、数据模拟、touch事件、mockjs。熟练使用所学知识来完成网站项目开发。...

如何将一个HTML页面嵌套在另一个页面中
如果网站管理员偏向使用PHP或JSP的话,语法会稍有不同。对于不能使用SSI、ASP、ASP.NET、PHP和JSP等服务器端动态页面语言的情况,这里还将介绍两种客户端镶嵌的办法:JavaScript和iframe的方法。当这两种客户端的方法都有很大的弊病,一般不推荐使用。下面对各种方法单独具体介绍。1、SSI (Server Side Include)SSI是一...

CSS网页下拉列表大小怎么调整
需要准备的材料分别有:电脑、浏览器、html编辑器。1、首先,打开html编辑器,新建html文件,例如:index.html。2、在index.html中的标签中,输入css代码:select { width: 210px;}。3、浏览器运行index.html页面,此时网页下拉列表的大小被调整为了210px。

怎么制作网页?
在FrontPage2000中,当我们打开DHTML效果工具栏后,点选文本或者图片会产生不同事件。但它们的施用方法是一样的,下面我们以文本举例:我们先在编辑器里输入一段文本,比如:网页陶吧,然后继续下面的三个步骤:选定一段需要产生DHTML效果的文本,这里是:网页陶吧。从DHTML效果工具栏的开启下拉列表选择一个事件。这里对于文本...

相似回答
大家正在搜