2013-05-27 2 views
0

Я динамически создаю таблицу, используя Javascript. Строки создаются для каждого продукта, найденного в файле XML. Я пытаюсь создать EventListeners для MouseOver MouseOut и Onclick, чтобы:Слушатели событий - MouseOver, Mouseout, OnClick для строк HTML

OnClick - предупреждение отображается с внутреннимHTML строки, нажатой.

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); 

Любые идеи?

+0

Я предлагаю попробовать [jQuery] (http://jquery.com). – Mateusz

ответ

0

Для события 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;} 

Это должно сделать необходимое.

+0

Отлично! Большое спасибо! У меня были проблемы, так как любой щелкнутый ряд дал бы мне тот же ответ! – user2415416

Смежные вопросы