응용 프로그램에서 "페이지"로 사용할 HTML 템플릿을 동적으로로드하는 Backbone.js/Require.js 응용 프로그램을 만들었습니다. 이것은 내 메인 HTML 페이지가 그렇게 보임을 의미합니다.동적으로 생성 된 요소가 Raphael 캔버스에 사용되었습니다.
<head>
// Necessary CSS and Javascripts here
</head>
<body>
<div id="container"></div>
</body>
그런 다음 밑줄 템플릿을 사용하여 새 요소를 DOM에 동적으로 렌더링했습니다. 그러나 새로운 기능을 사용하려면 Raphael.js 차트가 필요합니다. 새 요소 <div id='canvas'></div>
을 작성하고 Raphael('canvas')
을 호출합니다. 그러나 캔버스 요소가 DOM 준비에 없었기 때문에 Raphael은 새로 작성된 요소를 볼 수 없습니다.
id 참조 대신에 Raphael($('#canvas'))
과 같은 jQuery 선택기를 사용하려고 시도했지만 캔버스를 본문 요소가 아니라 컨테이너 요소에 연결합니다.
동적으로 생성 된 요소에 Raphael 캔버스를 바인딩하는 방법에 대한 제안 사항이 있습니까?
나는 오늘 아침에 일어 났는데, "이런!" 그리고 당신의 대답이 정말로 옳았다는 것을 깨달았습니다. 백본보기의 기본 원리 중 하나는 메모리에서 작성한 다음 DOM에 추가 할 수 있다는 것입니다. 두뇌 충격에 감사드립니다! – srquinn
제 편집이 올바른 방법이었습니다 ... 나는 당신에게 대리인을주고 싶었습니다 ... 제 편집을 받아 들여 다른 사람들이 정확하게 수행 할 수 있도록하거나 제 질문에 직접 대답을하겠습니다. – srquinn
@jibsales 편집이 거부되었습니다. 다른 답변은 내 답변의 의미를 대부분 바꿔 놓았습니다. 내 답변이 더 일반적으로 적용 가능하다고 생각합니다. 귀하의 답변은 귀하의 상황에보다 구체적입니다. 그래도 신용을 줘서 고마워. 정말 고마워. 당신은 물론 당신이 그것을 기꺼이하고 대답 할 수있는 자유가 있습니다. :). 다행스럽게도 나는 두뇌가 뛰고 다시 뛰는 것을 도울 수 있었고, 우리 모두 거기에 있었고 우리 모두 계속 거기에갔습니다. – Mosselman