1

我在设计时创建了一个表,并在运行时向其中添加了行。我想将鼠标悬停事件附加到显示相应工具提示的第一列的每一行。

for(ctr=0;ctr<noOfRows;ctr++){
   var myTable=document.getElementById("myTable");
   var newRow = myTable.insertRow(1);

   var cell0 = newRow.insertCell(0);
   cell0.innerHTML="Cell Data"+"<div class='hiddenToolTip' id='tip"+ctr+"'>"+tooltip+"</div>";

   cell0.onmouseover=function(){
        $("#tip"+ctr).show('blind',500);
   };

   cell0.onmouseout=function(){
        $("#tip"+ctr).hide();
   };
}

问题是“ctr”变量总是作为“onmouseover”和“onmouseout”函数中的最大值出现。

4

1 回答 1

2

只需在函数参数中传递它并使用元素的 id 获取 ctrl 的值,如下所示

cell0.onmouseover=function()
{      
    $(this).children("div[id^='tip'] ").show('blind',500);    
    };

检查此示例:Javascript:使用 DOM 添加 OnMouseOver 和 OnMouseOut

于 2012-04-12T10:12:49.173 回答