幻灯片上的jquery删除按钮的悬停状态
使用Jquery,当您单击按钮时,我有一个简单的向下滑动div。 问题是,按钮:悬停状态未被删除。 JS小提琴: (请注意,在我的网站版本中,我实际上需要再次将鼠标移到按钮上,然后再将鼠标移出,以使其返回正常状态) 以下是JS代码:幻灯片上的jquery删除按钮的悬停状态,jquery,hover,jquery-animate,Jquery,Hover,Jquery Animate,使用Jquery,当您单击按钮时,我有一个简单的向下滑动div。 问题是,按钮:悬停状态未被删除。 JS小提琴: (请注意,在我的网站版本中,我实际上需要再次将鼠标移到按钮上,然后再将鼠标移出,以使其返回正常状态) 以下是JS代码: $("a").click(function() { var div = $("#toggleDiv"); if (!div.hasClass("open")) { div.animate({
$("a").click(function() {
var div = $("#toggleDiv");
if (!div.hasClass("open")) {
div.animate({
height: "300px"
},"fast").addClass("open");
} else {
div.animate({
height: "150px"
},"fast").removeClass("open");
}
return false;
});
正如您将在小提琴中看到的,滑动后a链接保持红色。在这个简单的例子中,这看起来不是什么大问题,但在我的网站上,这真的很烦人
我的问题是:
我做错什么了吗?或者如何在单击时删除:悬停状态?
(我对Twitter引导工具提示也有类似的问题)。在我的测试中,每当我移动鼠标时,它就会自动删除,但保持链接“悬停”仍然令人不快。你可以这样欺骗它:
$(this).unbind('onmouseover').unbind('onmouseout');
$("a").hover(function(){
//Do fancy stuff
});
function hoverLinkEffect(e) {
// Do fancy stuff
}
//Then on the a click event handler
$(this).unbind('onmouseover').unbind('onmouseout').on('hover',hoverLinkEffect);
但是,如果您已经绑定了这些事件的事件,则应在删除事件后重新连接
此仅适用于以下情况:
$(this).unbind('onmouseover').unbind('onmouseout');
$("a").hover(function(){
//Do fancy stuff
});
function hoverLinkEffect(e) {
// Do fancy stuff
}
//Then on the a click event handler
$(this).unbind('onmouseover').unbind('onmouseout').on('hover',hoverLinkEffect);
所以你可以这样做:
$(this).unbind('onmouseover').unbind('onmouseout');
$("a").hover(function(){
//Do fancy stuff
});
function hoverLinkEffect(e) {
// Do fancy stuff
}
//Then on the a click event handler
$(this).unbind('onmouseover').unbind('onmouseout').on('hover',hoverLinkEffect);
以下是完整的代码:
$(document).ready(function() {
$("a").click(function() {
$(this).unbind('onmouseover').unbind('onmouseout');
var div = $("#toggleDiv");
if (!div.hasClass("open")) {
div.animate({
height: "300px"
},"fast").addClass("open");
} else {
div.animate({
height: "150px"
},"fast").removeClass("open");
}
return false;
});
});
谢谢但我似乎仍然有这个问题。我该如何重新绑定事件?我需要创建另一个侦听器?您正在哪个浏览器中尝试?Mac上的Chrome最新版本。使用重新绑定更新了答案。我已经在Firefox、Chrome甚至Explorer上进行了测试,一旦我点击,你的例子中的链接就会变成蓝色。为了澄清,我正在制作与Youtube视频描述中的“显示更多”按钮大致相同的按钮。