2014-10-27 167 views
0

我有一个奇怪的问题。我试图使用jQuery的悬停。但我无法让它正常工作。我可以让我工作的唯一方法就是点击它。有没有人可以看到问题可能出在哪里? HTML部分:jquery悬停()不触发悬停

<a class="preview"><img id="EquipmentInfoPanelElementUrl" height="100" width="100" src="temp.png" alt="gallery thumbnail" /></a> 

JavaScript部分:

$("a.preview").hover(function (e) { 
      $("body").append("<p id='preview'><img src='" + $("#EquipmentInfoPanelElementUrl").attr("src") + "' alt='Image preview' /></p>"); 
      $("#preview").css("top", (e.pageY - 10) + "px").css("left", (e.pageX + 30) + "px").fadeIn("fast"); 
     }, 
    function() { 
     $("#preview").remove(); 
    }); 

     $("a.preview").mousemove(function (e) { 
      $("#preview").css("top", (e.pageY - 10) + "px").css("left", (e.pageX + 30) + "px"); 
     }); 
+0

您的JavaScript执行在页面底部和/或document.ready事件处理程序中吗? – pwdst 2014-10-27 12:18:15

+0

也预览由JavaScript创建? – 2014-10-27 12:18:38

+0

它在文档就绪。 – mortenstarck 2014-10-27 12:18:42

回答

1

它的工作。 (最新的jQuery库)

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title>jQuery Autocomplete</title> 
<meta charset="utf-8"> 
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(function() { 

$("a.preview").hover(function (e) { 
      $("body").append("<p id='preview'><img src='" + $("#EquipmentInfoPanelElementUrl").attr("src") + "' alt='Image preview' /></p>"); 
      $("#preview").css("top", (e.pageY - 10) + "px").css("left", (e.pageX + 30) + "px").fadeIn("fast"); 
     }, 
    function() { 
     $("#preview").remove(); 
    }); 

     $("a.preview").mousemove(function (e) { 
      $("#preview").css("top", (e.pageY - 10) + "px").css("left", (e.pageX + 30) + "px"); 
     }); 

}); 

</script> 
</head> 

<body> 
<a class="preview"><img id="EquipmentInfoPanelElementUrl" height="100" width="100" src="temp.png" alt="gallery thumbnail" /></a> 
</body> 

</html>