我已经建立了一个精简的例子来说明什么在 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 控制台没有错误,我注意到在 Debug模式下,我会在 Chrome 中看到药丸添加,而在 IE 中看不到它添加(即使我点击第二个日期)。
如果能使 IE 像 Chrome 和 FireFox 一样运行,我们将不胜感激。
最佳答案
你用来定位元素的线似乎是我的问题所在,请尝试替换:
$(".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'
});
关于javascript - jQuery 追加在 IE 上不能(始终如一地)工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10113993/