2

我已经构建了一个在 IE 上不起作用的精简示例:http: //so.demuyt.net/case1/

( IE8. jQuery 1.7.1 )

在 IE 中单击一个日期没有任何作用,单击第二个日期将在第一个和第二个选定日期旁边放置一个“绿色药丸”。在 Chrome 中执行此操作将在第一次单击时放置 1 个药丸,在第二次单击时放置 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 中看到它添加(即使我单击第二个日期)。

非常感谢任何帮助或指针,以使 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 回答