0

showPeopleDetails当用户将鼠标悬停在 a-tag 上时,我有一个应该执行功能的 Java 服务器页面。showPeopleDetails是一个单独的js文件中的Javascript函数,由框架导入。showPeopleDetails应该在 a-tag 上显示一个气球弹出窗口。不知何故,该功能仅对第一个 a-tag 执行,而对其他 a-tag 不执行!这是 HTML 片段:

| <a href="javascript:void(0);" class="PeopleLink LinkColorBlackDark" onmouseover=    "showPeopleDetails('<%=userUnique %>', event.clientX, event.clientY)" onmouseout="hidePeopleDetailsTimed()"></a>

这是我的 JavascriptshowPeopleDetails函数:

function showPeopleDetailsNow(UserId, x, y){
   var vpd = document.getElementById("PeopleDetails");
   if ( vpd != null ) {
       getMousePosition();
       vpd.style.top= x +10 + $(document).scrollTop(); //mouseX and mouseY are defined globally
       vpd.style.left= y +10;
       vpd.style.display="block";
   }
}

我测试过的功能没有问题,showPeopleDetails它在网站的其他部分也能正常工作。但是当我添加event.clientX并且event.clientY弹出窗口只显示一次时。我只需要为 Internet Explorer 8 开发,因此浏览器兼容性不是问题。非常感谢您的帮助!

4

1 回答 1

0

而不是在函数调用中传递 event.clientX 和 event.clientY 试试这个

<a href="javascript:void(0);" class="PeopleLink LinkColorBlackDark" onmouseover=    "showPeopleDetails('<%=userUnique %>', event)" onmouseout="hidePeopleDetailsTimed()"></a>

function showPeopleDetailsNow(UserId, event){
  event = event || window.event;
  var x = event.clientX, y = event.clientY;

   var vpd = document.getElementById("PeopleDetails");
   if ( vpd != null ) {
       getMousePosition();
       vpd.style.top= x +10 + $(document).scrollTop(); //mouseX and mouseY are defined globally
       vpd.style.left= y +10;
       vpd.style.display="block";
   }
}
于 2011-08-03T14:30:28.647 回答