0

试图向用户获取有关 datepicker 中 disabledDays 的一些信息。理想情况下,我希望在悬停以提供信息时显示一个小框显示日期。如果这不可能,那么这样的事情会做,但我无法让事件在鼠标移出时停止。不仅如此,这段代码将文本放在日期选择器的外围,在一个月的第一个日期之前和最后一个日期之后的灰色区域中。

<p class="pickdate">
<label for="pickDate"/>
<input type="text" class="pickDate"/></p>

$(function() {
$("#pickDate").datepicker();
$(".ui-state-disabled").live("mouseover", function() {
$("pickdate").text($(this).text('n/a'));
});
});
4

1 回答 1

0

您是否也尝试过绑定mouseout事件?

$(".ui-state-disabled").on('mouseout', function() {
  $("pickdate").hide()
  //or whoever you want to hide it
}

调试:如果没有发生任何事情,请插入一些日志消息:

$(".ui-state-disabled").on('mouseout', function() {
  console.log("mouseout event fired! YEHA!");
  //or alert("mouseout event fired! YEHA");
  $("pickdate").hide()
  //or whoever you want to hide it
}

如果出现该消息,则可能hide()无法在您的pickdate 上工作。虽然很奇怪,但我不知道究竟是什么意思要隐藏它。随意执行任何其他技巧而不是给定的代码。

如果日志消息或警报根本不出现,则可能会触发 mouseout 事件。您可以通过将其绑定到一个空的测试 div 来测试此行为。只是为了不受任何干扰。检查您的浏览器是否支持此元素类型。

另外,您使用的是哪个版本的 jQuery?我看到您执行live()了从 1.7 版开始已弃用并由on().

(在此编辑之前,我还错误地使用bind()on().

于 2012-04-08T22:07:00.757 回答