2

この jsFiddle:

http://jsfiddle.net/manishma/NCHtH/

JQuery 1.9.1(with でJQuery UI 1.10.3) 移植するのに最も苦労しています。に変更し

て明らかなことを試しましたが、うまくいきませんでした。私はこれにあまりにも多くの時間と労力を費やしてきました。ありがとう!liveon

4

1 に答える 1

6

問題は、私には理解できない理由で、日付ピッカーが構築されたときに jQueryUI が変更されたことです。日付ピッカーを作成するための最初の呼び出しでは、jQueryUI は次のもののみをビルドします。

<div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-weekpicker"></div>

最初に表示されるまで、datepicker コントロールの残りの部分は構築されません。その後、コントロールの DOM 構造が正常に追加されます。

このため、$('.ui-weekpicker .ui-datepicker-calendar tr')は の長さな0ので、mousemoveおよびmouseleaveハンドラは添付されません。

私が思いついた解決策は、セレクターを変更してイベントを委任することでした$('.ui-weekpicker')(そして . に変更.live()しますon()):

$('.ui-weekpicker').on('mousemove', 'tr', function () {
    $(this).find('td a').addClass('ui-state-hover');
});
$('.ui-weekpicker').on('mouseleave', 'tr', function () {
    $(this).find('td a').removeClass('ui-state-hover');
});

更新されたフィドルは次のとおりです。http://jsfiddle.net/NCHtH/19/

于 2013-06-03T11:49:05.957 に答える