嫌疑人我试图用我自己的善意来这个聪明人!jquery:切换元素的mouseover/mouseout类的类,但是如果点击元素内部的类会保留类?
我正在研究一个jQuery插件函数,当你将鼠标悬停在/ out上时,它将在一个元素上打开/关闭一个类,但是如果你在鼠标悬停之前单击元素内部的元素,如果元素已经有该类徘徊在上前t切换
我试图想出如下:
$.fn.showHover = function(settings) {
this.bind('mouseover', function hoverIn(){
if ($(this).hasClass('active') == false) {
$(this).addClass('active');
$(this).bind('click', function getFocus(){
$(this).unbind('mouseout', hoverOut);
})
$(this).bind('mouseout', function hoverOut(){
$(this).removeClass("active");
$(this).unbind('click', getFocus);
})
}
})
return this;
};
...如果你点击前徘徊了主意,删除类和取消绑定点击 - 如果您在悬停之前点击,解除鼠标悬停并且该类永远不会被移除。
很明显(因为我在这里寻求帮助!)它不起作用 - 无论是否在悬停前单击元素内部,该类都会被删除。
有人可以指出为什么它失败,并可能提出一个更好的方法呢?谢谢!
简单是最好的! 我被具有单一的样式类,以保持相同的风格悬停和点击,而是定义两个选择,一个风格如下的想法突发奇想: .active_hover,.active_click {...} 给人的预期的结果。谢谢! – KyokoHunter 2009-11-23 20:56:02