Jquery内容'再次加载内容后,s鼠标悬停不显示
Jquery content's mouseover not display after contents load again
我创建了一个(右侧)栏,用于显示所有新帖子(如facebook)。现在,如果用户将鼠标悬停在任何帖子上,它会在一个新框中淡出以显示完整的帖子(如facebook)。
此边栏在5秒间隔后通过ajax请求获取所有新帖子。下面的代码我用鼠标悬停来显示完整的帖子。
$(".upbox1").mouseover(function() {
var id = $(this).attr('id').replace('','');
$("#menu").fadeIn("slow");
$('.loader2').show();
$.get("uphover?id="+id, function(data) {
$('#menu').empty().html(data);
$('.loader2').hide();
});
});
第一次加载页面后,鼠标悬停显示良好,但只有5秒的时间间隔,当侧面再次加载时,鼠标悬停无法显示任何内容。
请问如何解决?
所有脚本都放在同一个文件中:我的边栏的更新脚本:
var uid = '<? echo $session->id; ?>';
function addside(type, msg){
//Do something for display all new post in side bar.
}
function waitFormailno(){
$.ajax({
type: "GET",
url: "updateside.php",
cache: false,
async : false,
dataType : 'json',
data: "uid="+ uid,
timeout:15000,
success: function(data){
addside("MyDivId", data);
setTimeout(waitFormailno, 15000);
},
error: function(){
setTimeout(waitFormailno, 15000);
}
});
}
$(document).ready(function(){
waitFormailno();
});
您需要使用.on()
语法:
$('body').on('mouseover', '.upbox1', function() {
var id = $(this).attr('id').replace('','');
$("#menu").fadeIn("slow");
$('.loader2').show();
$.get("uphover?id="+id, function(data) {
$('#menu').empty().html(data);
$('.loader2').hide();
});
});
如果侧边栏从未更改,则可以将body
替换为#sidebar
(根据需要进行替换)。
相关文章:
- 当鼠标悬停在文本中的单词上时显示警报
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 在鼠标悬停时展开列表
- jQuery悬停在没有鼠标悬停的情况下启动
- 鼠标悬停时如何居中放大背景图像
- 使用鼠标悬停JavaScript/HTML显示文本
- 如何在MVC3中显示鼠标悬停在文本上的部分视图
- d3.js鼠标悬停鼠标输出问题
- 如何在鼠标悬停时将对象从起始位置移动到结束位置,然后在鼠标悬停后再次移动
- 鼠标悬停时播放随机轨迹
- 鼠标悬停时的css转换
- 将鼠标悬停在同级元素上的 jquery 上轻拂
- 将鼠标悬停在Angular JS中的一个元素上,并将Class添加到另一个元素中
- aspx中鼠标悬停时横向扩展DIV
- ajax鼠标悬停和鼠标悬停脚本
- 在鼠标悬停处隐藏图像
- 如何停止地图移动时,鼠标悬停在标记在谷歌地图API 3
- 通过鼠标悬停向上或向下滑动的图片
- 鼠标悬停时更改按钮的 CSS