2

这是jsfiddle

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

我有一个 div 调用divEtime,仅当您将鼠标悬停在以下li项目上时才会出现ul

这是jquery:

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

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

这是显示 div 以及li包含该类的项目的 htmleTime

<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 上才能查看该值。

4

1 回答 1

2

您也可以在 JQuery 语句中选择日历的 ID,然后使用stop()

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

$(".eTime, #ui-datepicker-div").hover(function () {
            $('#dEtime').stop().fadeIn('slow');
        }, function () {
            $('#dEtime').stop().fadeOut('slow');
});
于 2013-05-07T20:29:18.497 回答