2012-04-11 8 views
2

내가 IE에서 작동하지 않는 무엇을 벗었 예를 구축했습니다 : http://so.demuyt.net/case1/IE에서 jQuery append가 (일관되게) 작동하지 않습니까?

. (1.7.1 IE8 jQuery를)

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 콘솔에 오류가 없습니다를, 제가 발견 한 것은이다 디버그 모드에서 필자는 크롬에 추가 된 알약을 보게되지만 IE에서는 두 번째 날짜를 클릭해도 추가되지 않습니다.

IE가 Chrome & FireFox처럼 동작하도록하는 데 도움이되거나 도움이 될만한 정보를 얻을 수 있습니다.

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

로 :

+0

난 그냥, IE7, IE8, IE9에서 테스트 IE10과 각각에서 작동하는 것 같습니다. 나는 날짜를 클릭하고, 녹색 알약은 각각의 상단 왼쪽에 추가되었습니다. – Sampson

+0

@JonathanSampson 안돼 .. 그래서 첫 번째 데이트를 클릭하지 않고 즉시 피임약을 보았습니까? – tomdemuyt

+0

@ JonathanSampson, IE7 : works를 확인했습니다. IE8은 'Compatibility View'에서만 작동합니다. – tomdemuyt

답변

1

라인이 요소를 배치하는 데 사용하는 나를 위해 문제를 일으키는 것 같다, 교체하려고

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

$(".Workcounter." + date + '.' + calendarName).css({ 
    left: datePos.left - 3, 
    top: datePos.top - 3, 
    position: 'absolute' 
}); 
+0

실제 사이트에서는 (0,0)에 배치되지 않은 상위 ​​div에 캘린더가 있기 때문에 .offset()을 .position()으로 대체해야했습니다. 감사! – tomdemuyt

관련 문제