Jquery:突出显示鼠标悬停在某些页面上不起作用

问题描述:

在外部站点上测试此jquery代码(通过代理绕过单一原点策略加载),似乎有一些网站在鼠标悬停时显示预期的红色边框线没出现。我怎样才能确保红色边框线始终显示在其他任何东西之上?这可能是因为特定网站在鼠标悬停时突出显示没有出现,z索引或其他一些古怪可能会造成这个问题,但没有JavaScript错误呈现....Jquery:突出显示鼠标悬停在某些页面上不起作用

$(document) 
    .mouseover(function(event) { 
     if ($(event.target).parents('#myunique').length){ 
      event.preventDefault(); 
     }else{ 
     $(event.target).addClass('myoutlineElement'); 
     } 
    }) 
    .mouseout(function(event) { 
     if ($(event.target).parents('#myunique').length){ 
      event.preventDefault(); 
     }else{  
     $(event.target).removeClass('myoutlineElement'); 
     } 
    }) 
+1

我认为,我们需要看到的例子网站?这些页面上现有的`mouseover()`事件是否会导致问题? – Orbling 2010-11-26 00:22:48

+0

这当然是一种可能性。 – KJW 2010-12-10 04:34:20

鼠标悬停/ out不起作用?或者边界不适用。

尝试使用萤火虫调试console.log(event.target);,以检查事件是否被触发。还请记住,如果元素已通过style属性(style="border:...;")定义了边框样式,则该类将不会覆盖它,因为style属性更具体。

除非您使用!important指令,否则@aendrew在他的答案中提到。

+0

它确实似乎在开火,但没有可以看到的CSS变化。在某些情况下,已经存在类属性值。所以即使mouseover似乎也没有任何影响。 – KJW 2010-12-10 04:43:33

你定义.myoutlineElement的CSS,你可以尝试添加的z-index声明,如:

... z-index: 99 !important;