我已经构建了一个关于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&amp;火狐。
答案 0 :(得分: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'
});