2013-05-07 156 views
2

这里是的jsfiddle保持DIV打开时,日历打开

http://jsfiddle.net/93Fp2/3/

我有一个div叫divEtime当鼠标悬停在该li产品内只应出现所述ul

下面是该jquery的:

$('#dEtime').hide(); 

      $(".eTime").hover(function() { 
       $('#dEtime').fadeIn('slow'); 
      }, function() { 
       $('#dEtime').fadeOut('slow'); 
      }); 

下面是该DIV的HTML以及包含该类eTime

li项目
<ul id="ulPersonal"> 
     <li class="break eTime"> 
     <a href="http://someURL" title="t" target="_blank"><img src="./images/etime.png" alt="E-Time" /></a> 
     <a href="http://someURL" title="t" target="_blank">t</a> 
     <p>Manage</p> 
     <div id="dEtime"> 
      <asp:TextBox ID="txtEtimeStart" runat="server" CssClass="datePickerDueDate" 
         Width="75px"></asp:TextBox> 
      Some content 
     </div> 
     </li> 
    ... 
</ul> 

的问题我也有一个文本框txtEtimeStart使用jQuery的日期选择器这样:

$(".datePickerDueDate").datepicker(
        { 
         firstDay: 1, 
         constrainInput: false, 
         changeYear: true, 
         changeMonth: true, 
         selectOtherMonths: true, 
         showWeek: true 
        }); 

请注意,在HTML中发布的文本框有一个名为.datePickerDueDate的类。所以我的问题是当你打开日期选择器并向下移动鼠标为文本框(它在div中)选择一个值时,div再次淡出。看起来,当我浏览日历控件(jQuery日期选择器)时,悬停在div上失去焦点导致div隐藏。

当我从日历中选择日期时,是否可以保持div打开?否则会发生什么是div隐藏,但日历仍然打开。我仍然可以选择一个日期,但是我必须再次将鼠标悬停在div上才能看到该值。

+0

提供直播网址或的jsfiddle .. – 2013-05-07 19:12:28

+0

这里是的jsfiddle:HTTP://的jsfiddle .net/93Fp2/3 /将鼠标悬停在jsfiddle中的li项目上,然后单击输入框,您将看到一个日历显示,但只要您选择一个值,该div就会在您选择一个值之前再次隐藏... – oJM86o 2013-05-07 19:16:22

+0

你真的想让div在onmouseout消失吗? – iGanja 2013-05-07 20:33:59

回答

2

你可以只在您的JQuery的声明中选择日历的ID为好,用stop()

http://jsfiddle.net/93Fp2/27/

$(".eTime, #ui-datepicker-div").hover(function() { 
      $('#dEtime').stop().fadeIn('slow'); 
     }, function() { 
      $('#dEtime').stop().fadeOut('slow'); 
}); 
+0

这个更好,但选择日期后,悬停行为会变得混乱。 – iGanja 2013-05-07 20:40:35

+0

这类作品,但当我选择一个日期时有一些闪烁......到目前为止......但是如果没有闪烁,我仍然会感兴趣。 – oJM86o 2013-05-07 20:43:42

+0

IMO,如果输入框在点击或始终保持可见状态下会更好,但是,是的,它会淡出您是否“悬停”日历或输入,因为它被选中为“两者”。对于用户体验来说这不是非常友好,但是它确实符合你的要求我相信... – RCNeil 2013-05-07 20:46:15