2

IEで機能していないものの簡略化された例を作成しました: http ://so.demuyt.net/case1/

(IE8。jQuery1.7.1)

IEで1つの日付をクリックしても何も起こりません。2番目の日付をクリックすると、選択した1番目と2番目の日付の横に「緑色の錠剤」が表示されます。Chromeでこれを行うと、最初のクリックで1錠、2回目のクリックで1錠になります。

次のような「ピル」を追加します。

$("#canvas").append('<span class="label label-success Workcounter ' + date + ' ' + calendarName + '">1</span>');

私は「ピル」を次のように配置します:

$(".Workcounter." + date + '.' + calendarName).position( { of : $(".Work-date-highlight."+calendarName+"."+date) , at : "left top" , offset : "3 3" } );

jsコンソールにエラーはありません。デバッグモードでは、ピルがChromeに追加されているのに対し、IEでは追加されていません(2番目の日付をクリックしても)。

IEをChromeやFireFoxのように動作させるために、ヘルプやポインタをいただければ幸いです。

4

1 に答える 1

1

要素の配置に使用する行が問題を引き起こしているようです。置き換えてみてください。

$(".Workcounter." + date + '.' + calendarName).position( { of : $(".Work-date-highlight."+calendarName+"."+date) , at : "left top" , offset : "3 3" } );

と:

var datePos = $(".Work-date-highlight."+calendarName+"."+date).position();

$(".Workcounter." + date + '.' + calendarName).css({
    left: datePos.left - 3,
    top: datePos.top - 3,
    position: 'absolute'
});
于 2012-04-18T08:51:38.257 に答える