0

datepicker の disabledDays に関する情報をユーザーに取得しようとしています。理想的には、情報を提供するためにホバーしたときに、小さなボックスショーを日付で表示したいと考えています。それが不可能な場合は、このようなことができますが、イベントをマウスアウトで停止させることができませんでした。それだけではありませんが、このコードは日付ピッカーの外周の、月の 1 日より前と最後の日付の後にグレー表示された領域にテキストを配置します。

<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()、ピックデートで機能しない可能性があります。奇妙ではありますが、どのようにそれを隠すつもりだったのか正確にはわかりません。指定されたコードの代わりに、他のトリックを自由に実行してください。

ログ メッセージまたはアラートがまったく表示されない場合は、おそらく mouseout イベントが発生しています。空のテスト div にバインドすることで、この動作をテストできます。邪魔されないようにするためだけに。ブラウザがこの要素タイプをサポートしているかどうかを確認してください。

また、どのバージョンの jQuery を使用していますか? live()バージョン 1.7 の時点で廃止され、 に置き換えられたものを実行したようですon()

(この編集の前に、私も誤ってbind()の代わりに使用しましon()た。さらに悪いことに、修正されたコードをもう一度試してみてください。)

于 2012-04-08T22:07:00.757 に答える