Javascript 为什么文档选择器没有';你不为mouseenter活动工作吗?
这是我的密码:Javascript 为什么文档选择器没有';你不为mouseenter活动工作吗?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,这是我的密码: $.fn.right=函数(){ 返回$(document).width()-(this.offset().left+this.outerWidth()); } $(文档).ready(函数(){ $('a').bind('mouseenter',function(){ var self=$(这是); this.iid=setTimeout(函数(){ var tag_name=self.text(), 顶部=自身位置(), 右=self.right(); $('body').
$.fn.right=函数(){
返回$(document).width()-(this.offset().left+this.outerWidth());
}
$(文档).ready(函数(){
$('a').bind('mouseenter',function(){
var self=$(这是);
this.iid=setTimeout(函数(){
var tag_name=self.text(),
顶部=自身位置(),
右=self.right();
$('body').append(“关于“+tag_name+”的一些解释”);
$(“.tag_info”).css({top:top+“px”,right:right+“px”});
}, 525);
}).bind('mouseleave',function(){
如果(这个iid){
clearTimeout(this.iid)
$('.tag_info').remove();
}
});
});代码>
正文{
填充:20px;
方向:rtl;
}
a{
颜色:#3e6d8e!重要;
背景色:#E1ECF4;
填充物:2px 5px;
}
.tag_信息{
位置:绝对位置;
宽度:130px;
高度:100px;
显示:无;
背景色:黑色;
颜色:白色;
填充:10px;
}
长标签
标记
您需要将事件与绑定。这也适用于未来的元素
$(document).on('mouseenter', 'a', function(){ ... });
正如@Gregg所回答的,.bind()
已被.on()
取代。这就是小提琴不起作用的真正原因。您需要将事件与绑定。这也适用于未来的元素
$(document).on('mouseenter', 'a', function(){ ... });
正如@Gregg所回答的,.bind()
已被.on()
取代。这就是你的提琴不工作的真正原因。自jQuery 1.7以来,该函数已经取代了bind()
。如果您阅读了文档,您会注意到live()
实际上用于委托事件,例如您试图实现的内容,而bind()
方法没有;将事件绑定到稍后将添加到DOM的元素。on()
函数可以做到这一点。无论是来自文档本身还是来自直接后代。自jQuery 1.7以来,该函数已取代了bind()
。如果您阅读了文档,您会注意到live()
实际上用于委托事件,例如您试图实现的内容,而bind()
方法没有;将事件绑定到稍后将添加到DOM的元素。on()
函数可以做到这一点。无论是从文档本身还是从一个直接的后代。当为响应AJAX调用而创建锚定标记时,将id放入其中,如下所示:
$('body').append("<div class='tag_info' id='myTag'>Some explanations about "+tag_name+"</div>");
$('#myTag').bind('mouseenter', function(){
alert('Mouse Enter in your Anchor Tag');
}).bind('mouseleave', function(){
alert('Mouse leave');
});
当为响应AJAX调用而创建锚定标记时,将id放入其中,如下所示:
$('body').append("<div class='tag_info' id='myTag'>Some explanations about "+tag_name+"</div>");
$('#myTag').bind('mouseenter', function(){
alert('Mouse Enter in your Anchor Tag');
}).bind('mouseleave', function(){
alert('Mouse leave');
});
这不是问题。这更像是一场战争alternative@Mr.Alien--链接的小提琴不适用于.bind()
,但适用于.on()
@Mr.Alien您知道问题出在哪里吗?我已经测试了on()
和bind()
,但都不起作用。你的意思是它对.on()
起作用吗?你是说当鼠标将标记留在堆栈中时,弹出窗口将被隐藏?是的,如果你在('mouseleave','a',function(){
。你忘记了在事件绑定中指定目标标记a
。)这不是问题,这更像是一个问题alternative@Mr.Alien--链接的小提琴不适用于.bind()
,但适用于.on()
@Mr.Alien你知道问题出在哪里吗?我已经测试了on()
和bind()
,但都不适用于.on())
?你是说当鼠标离开标记时弹出窗口将被隐藏?@stack——是的,如果你在('mouseleave','a',function(){)上写了,它应该会工作。{
。你忘了在上的事件绑定中指定目标标记a
。)所以你的意思是我必须使用on()
而不是绑定()
?您的fiddle在初始加载后没有向DOM添加任何内容。我看到了悬停效果。因此我不确定您是否认为它不起作用。所以您的意思是我必须使用on()
而不是bind()
?您的fiddle在初始加载后没有向DOM添加任何内容。我看到了悬停效果。因此我不确定您会如何假设它不起作用。