IE8에서 Backbone.js (0.9.1)로 특정 HTML5 요소를 스타일링하지 않는 문제가 있습니다. 보기는 HTML5 tagName을 사용하고보기의 요소를 추가 할 때만 문제가 발생합니다.Backbone.js IE8 스타일이 지정되지 않았습니다. HTML5 tagNames
나는 modernizr을 사용하고 있고 적절한 표시를하고 있습니다 : block css, jQuery의 html(), append() 등을 사용하여 다른 HTML5 요소를 추가 할 수 있으므로 백본의 특정 문제라고 생각합니다.
이 시점에서 나는이 문제를 해결하고 더 이상 HTML5 tagNames를 사용하지 않거나 더 이상 백본을 사용하지 않는 것으로 논쟁 중입니다. 둘 다 이상적인 것은 아닙니다. 어떤 제안?
여기에 문제의 간단한 예입니다 :
$(function(){
var test = Backbone.View.extend({ tagName: 'section' });
var section = new(test);
$('body').append(section.el);
});
편집 :
HTML5 tagNames와 뷰의 문제를 해결 2.0로 다시 모더 나이저 2.5에서 압연 몇 가지 이유를 들어,하지만 지금은 사용할 필요가 요소에 템플릿 내용을 추가 할 때 innerShiv. 왜 그것이 2.5를 좋아하지 않았는지 모르지만 그것은 현재 작동합니다.
더 자세히 살펴보고 왜 이런 일이 발생하는지 좁히고 더 나은 해결책을 찾을 수 있는지 확인하십시오.
일반적으로 Backbone.js에 "해결할 수없는"문제가있는 경우 가장 좋은 방법은 소스 코드를 직접 보는 것입니다. 이해하기 쉽습니다. – biziclop
반드시 백본 일 필요는 없습니다. 그게 당신의 템플릿 엔진이 될 가능성이 더 큽니다 (나는 맹세하지는 않겠지 만). – JayC
출처를 확인했습니다. Backbone이 document.createElement (tagName)를 사용하여 DOM 외부에서 요소를 만드는 방법과 관련이 있습니다. 이 문제는 어떤 템플릿 작업과 관련없이 발생하므로 어떻게 문제가 될지 잘 모르겠습니다. 여기에 문제의 간단한 예입니다 :. '$ (함수() { \t VAR 섹션 = 새 (테스트) \t $ ('몸') (섹션을 추가합니다.엘자); }}); VAR 시험 Backbone.View.extend = ({ \t 태그 이름 '부' })' 단면 태그 제거 IE에서 <:section>으로 표시되고; 적절하게 스타일링되지 않았습니다. – topherbullock