我創建了一個Backbone.js/Require.js應用程序,該應用程序動態加載HTML模板以在應用程序中用作「頁面」。這意味着我的主HTML頁面看起來像這樣。動態創建的元素用於拉斐爾帆布
<head>
// Necessary CSS and Javascripts here
</head>
<body>
<div id="container"></div>
</body>
然後我用下劃線模板動態地向DOM呈現新元素。但是,新功能需要使用Raphael.js圖表。我創建了一個新的元素<div id='canvas'></div>
並且調用Raphael('canvas')
但由於canvas元素不在DOM準備好的位置,所以Raphael看不到新創建的元素。
我已經嘗試使用jQuery選擇器代替id引用,如Raphael($('#canvas'))
,但這會將畫布附加到body元素而不是我的容器元素。
關於如何將Raphael畫布綁定到動態創建的元素的任何建議?
今天早上我醒了,「呃!」並意識到你的答案確實是對的。我忘記了Backbone視圖的一個主要原則,就是你可以在內存中構建它們,然後將它們附加到DOM。謝謝你的大腦顛簸! – srquinn
我的編輯是正確的方式...我想給你的代表,儘管...請接受我的編輯,讓其他人可以看到完全如何做到這一點,否則我只會自己回答這個問題 – srquinn
@jibsales編輯被拒絕其他基於它改變了我答案的大部分含義。我相信我的答案更普遍適用,您的答案更符合您的具體情況。謝謝你想給我信貸,但非常感謝。你當然可以隨心所欲地自己做答案:)。很高興我能幫助我們讓腦子恢復活力,我們都在那裏,而且我們都一直在那裏。 – Mosselman