我的问题是mouseover
和mouseout
。因为有些数据是在div #mydiv
中动态生成的,而div也是类on-hover
也是动态生成的...所以我必须将jQuery(document).on({ mouseenter:
用于mouseover
的直播事件, mouseout
..一切顺利......但显然鼠标移动就像地狱一样......
我的HTML代码:
<a href="" >
<div id="mydiv" class="image">
<img src="http://core2.staticworld.net/images/article/2013/08/diy-app-dev-100050594-large.jpg" /> </div>
<div class="on-hover"> this is my hover text </div>
</a>
我的js代码:
jQuery(document).on({
mouseenter: function(){
$("#mydiv").next(".on-hover").show();
},
mouseleave: function(){
$(".on-hover").hide();
}
}, "#mydiv");
和我的css:
.image{
width:200px;
height:200px;
}
.on-hover{
font-size:2em;
color: rgb(255, 255, 255);
display: block;
background-color: rgb(222, 31, 57);
position: absolute;
width:100%;
height:100%;
}
我在jsFeild也有同样的问题。
答案 0 :(得分:2)
为什么不删除JS并简单地在CSS中执行此操作,从而清楚地保持关注点的分离(JS用于功能,CSS用于表示):
.image {
width:200px;
height:200px;
}
.on-hover {
font-size:2em;
color: rgb(255, 255, 255);
display: none;
background-color: rgb(222, 31, 57);
position: absolute;
width:100%;
height:100%;
}
a:hover .on-hover {
display:block;
}
答案 1 :(得分:1)
将on-hover
div移至mydiv
。的 DEMO 强>
<a href="">
<div id="mydiv" class="image">
<img src="http://core2.staticworld.net/images/article/2013/08/diy-app-dev-100050594-large.jpg" />
<div class="on-hover"> this is my hover text </div>
</div>
</a>
JS,
jQuery(document).on({
mouseenter: function () {
$(".on-hover").show();
},
mouseleave: function () {
$(".on-hover").hide();
}
}, "#mydiv");
<强>更新强>
Demo根据评论
答案 2 :(得分:0)
只有css才能实现您的目标:
CSS:
.a-tag {
display: block;
}
.on-hover {
font-size: 2em;
color: rgb(255, 255, 255);
display: none;
background-color: rgb(222, 31, 57);
position: absolute;
width: 100%;
height: 100%;
top:0px;
}
.a-tag:hover .on-hover {
display: block;
}