将HOVER和FOCUS事件与jquery结合起来有点麻烦。这是我原本:JQuery结合焦点和悬停事件
$("input,textarea").focus(function() {
$(this).parent().siblings('div.exp').removeClass('hide');
$(this).parent().siblings('div.exp').addClass('show');
});
$("input,textarea").blur(function(){
$(this).parent().siblings('div.exp').removeClass('show');
$(this).parent().siblings('div.exp').addClass('hide');
if ($(this).val().length <= 0) {
$(this).siblings('span.warning').removeClass('hide');
$(this).siblings('span.warning').addClass('show');}
else {
$(this).siblings('span.warning').removeClass('show');
$(this).siblings('span.warning').addClass('hide');
}
});
基本上,我有一个用户的接触形式类似下面的行:
<div class="row">
<p><label>Your Name</label><input type="text" name="name" id="name" value=""/><span class="warning">Your name is missing</span></p>
<div class="exp">Who am I to address?</div>
</div>
我的jQuery代码的一点是要生出一个隐藏的div( exp),当用户关注任何一个输入或textarea元素时,以及在未聚焦(模糊)元素时检查所述输入的值是否为空。 (我还没有真正下到验证,所以现在检查字符串长度只是一个临时填充)。如果元素的字符串小于或等于0,则span.warning将被显示给用户。
这一切都很好。 我卡住如下:
我想在盘旋,但没有重点冲突的增加。我期望的最终效果是这样的:
你悬停任何输入或文本域,你会得到div.exp露面(EXP是为了说明)。您关注任何输入或区域,并且div.exp停留在那里,即使您将鼠标悬停在任何其他输入或textareas上。如果你悬停一个已经集中的输入,什么都不应该发生。
所以,简而言之,焦点和悬停元素应该独立工作。不知道我说清楚了,但很好哦,我试过=)
干杯 摹
哇,非常感谢。我不知道为什么我不使用Jquery自己的秀和隐藏。哦,我很傻。再次感谢您的帮助! – Sotkra 2009-12-29 00:12:06