javascript - jQuery 追加在 IE 上不能(始终如一地)工作?

标签 javascript jquery-ui calendar append twitter-bootstrap

我已经建立了一个精简的例子来说明什么在 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/

相关文章:

javascript - 如何根据 Angularjs 中的某些条件在 Controller 中创建作用域变量

jQuery UI - 添加选项卡

jquery ui datepicker Internet Explorer CSS问题

javascript - jQuery-ui 小部件工厂、事件处理程序等等

angular - DatePicker 更改自定义标题中的 View

javascript - 使用 JS 的水平视差滚动

javascript - mergeAll 是如何工作的?

java - 不同日期加天数

java - 显示日期类中的日期

javascript - 在 Javascript 中比较 2 个变量与 2 个变量