我有以下HTML:
<div id="panel">
<div class="listing" id="ref_1">...</div>
<div class="listing" id="ref_2">...</div>
<div class="listing" id="ref_3">...</div>
<div class="listing" id="ref_4">...</div>
</div>
我想要做的是,当有人在div.listing
上悬停alert()
时,屏幕上显示id
名称。
意思是,如果一个人用鼠标将id="ref_3"
徘徊到alert("ref_3")
;
问题:如何使用JQuery / Javascript执行此操作?
更新:
以下链接是实时网站。正如您将看到的,以下答案都不起作用。 (第340行)
任何建议?
答案 0 :(得分:1)
$('.listing').bind('mouseover',function(){
alert($(this).attr('id'));
});
您可以看到此代码正常工作here。
更新
查看您的代码,您可能想尝试这样做:
$('.hlisting').live('mouseover',function(){
alert($(this).attr('id'));
});
答案 1 :(得分:0)
更好
$('#panel div.listing').mouseover(function() {
alert($(this).attr('id'));
});
这是有效的
<!DOCTYPE>
<html>
<head><title>test</title>
<style type="text/css">
.listing { width: 100px; height: 100px; border: 1px black solid; }
</style>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.4.1");
google.setOnLoadCallback(function() {
$('#panel div.listing').mouseover(function() {
alert($(this).attr('id'));
});
});
</script></head>
<div id="panel">
<div class="listing" id="ref_1">...</div>
<div class="listing" id="ref_2">...</div>
<div class="listing" id="ref_3">...</div>
<div class="listing" id="ref_4">...</div>
</div>
</body>
</html>
答案 2 :(得分:0)
您当前是否在其他脚本文件中使用$作为函数,而不使用noConflict
答案 3 :(得分:0)
BillyJ,听起来你可能没有在HTML文件中加载jQuery库。
在调用上述功能之前,请务必在文件中加入<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascript"></script>
。
答案 4 :(得分:0)
似乎与您的网站分开工作......
我建议只在代码中添加一个带有hslisting
类的div。不要使用JS来注入它。看看你注射它的方式是否会导致问题。
答案 5 :(得分:0)
'mouseenter'事件通常是比'mouseover'更好的选择。从 http://api.jquery.com/mouseenter/:
“mouseenter事件与鼠标悬停在处理事件冒泡的方式上有所不同。如果在此示例中使用鼠标悬停,则当鼠标指针移动到Inner元素上时,将触发处理程序。这通常是不合需要的行为。另一方面,mouseenter事件只在鼠标进入绑定的元素时触发其处理程序,而不是后代。“
jQuery('#panel div.listing').bind('mouseenter',function(){
alert(this.id);
return false;
});