【问题标题】:Event Listeners - MouseOver, Mouseout, OnClick for HTML Rows事件侦听器 - 用于 HTML 行的 MouseOver、Mouseout、OnClick
【发布时间】:2013-05-22 13:33:22
【问题描述】:

我正在使用 Javascript 动态构建表格。为在 XML 文件中找到的每个产品创建行。我正在尝试为 MouseOver MouseOut 和 Onclick 创建 EventListeners,以便:

OnClick - 显示一个警报,点击行的 innerHTML。

OnMouseOver - 将行点击的背景更改为 #19405f

OnMouseOut - 将背景改回 #FFFFFF

代码如下:

var root=document.getElementById('information');
var tab=document.createElement('table');
tab.className="productTable";
var tbo=document.createElement('tbody');
for (var i=0; i<mobiles.length; i++){
    var row=document.createElement('tr');
    var cell=document.createElement('td');
    cell.appendChild(document.createTextNode(mobiles[i].name));
    row.appendChild(cell);
    var cell=document.createElement('td');
    cell.appendChild(document.createTextNode(mobiles[i].price));
    row.appendChild(cell);
    tbo.appendChild(row);
}
tab.style.border = "1px solid #000";
tab.appendChild(tbo);
root.appendChild(tab);

有什么想法吗?

【问题讨论】:

标签: javascript html onclick mouseover mouseout


【解决方案1】:

对于onclick事件,我建议你在你提供的脚本末尾加上这个位

var rows = tab.rows; 
for (var i = 0; i < rows.length; i++) {
    rows[i].onclick = (function() { 
        return function() {
          var content = this.cells[0].innerHTML + this.cells[0].innerHTML;
          alert(content);
        }    
    })(i);
}

mouseover 和 mouseout 可以用简单的 CSS 来处理。将以下 CSS 添加到您的样式表中

.productTable tr {background:#FFF;}
.productTable tr:hover {background:#19405f;}

这应该可以满足要求。

【讨论】:

  • 完美!多谢!我遇到了麻烦,因为任何点击的行都会给我相同的答案!
猜你喜欢
  • 2023-03-10
  • 1970-01-01
  • 2011-10-03
  • 2014-03-03
  • 1970-01-01
  • 2013-01-13
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多