我試圖放在一起的電子郵件列表模板與requirejs和Backbone.js一起使用Handlebars.js,初始呈現按預期顯示 - 帶有添加圖標的單個電子郵件輸入添加更多。Webshims佔位符在追加動態內容時被隱藏
var EmailView = bb.View.extend({
tagName: 'ul',
className: 'emailList',
events: {
"click .addEmail" : "addEmail",
"click .deleteEmail" : "deleteEmail"
},
initialize : function() {
this.template = hb.compile(hbTemplate);
},
render : function() {
this.$el.htmlPolyfill(this.template(this.model.toJSON()));
this.updateIcons();
return this;
},
...
的addEmail處理程序(我試過appendPolyfill(),appendPolyFillTo,以及當前updatePolyFill(),所有生產,增加新的生產線項目相同的結果,但所有的佔位符消失(這是真正的控制之外的$ EL,它似乎是整個頁面。)
addEmail : function(e) {
this.$el.append(this.template({}));
this.$el.updatePolyfill();
this.updateIcons();
}
我要的是現有的控制,以保持自己的佔位符文本和新添加的顯示以及佔位符的文本。我在想什麼?
如果有幫助,模板看起來像這樣...
<li>
<span class="requiredPrompt">*</span>
<img class="icon" alt="" src="/images/emailIcon.png" />
<input type="email" class="emailAddress" value="" placeholder="Email Address" maxlength="50" required/>
<a class="deleteEmail" href="javascript:void(0)">
<img class="icon" alt="" src="/images/delFile.png" />
</a>
<a class="addEmail" href="javascript:void(0)">
<img class="icon enabled" alt="" src="/images/addFile.png" />
<img class="icon disabled" alt="" src="/images/addFile-disabled.png" />
</a>
</li>
[jsFiddle示例](http://jsfiddle.net/ttubbs/D3wYT/) - 顯示佔位符提示時隱藏(IE9),添加dyanmic內容時甚至只顯示警報。 在我看來,這與polyfiller.js在'beforeunload'事件中添加有關,至少我可以在調試器中看到polyfiller正在調用與'isReady'('WINDOWLOAD',true)相關的'triggerDomUpdate'。儘管如此,我並不完全遵循這一點。 – 2013-05-10 13:12:26
能夠通過將我自己的'beforeunload'處理程序添加到blur()然後清除'.user-error'類標記來強制我想要的行爲。我用'修復'更新了jsFiddle示例。它不應該像這樣默認? – 2013-05-10 13:47:52
我是webshims的開發人員,對我來說這看起來像一個奇怪的錯誤。我會研究它並儘快修復它。所以,不要再爲此煩擾自己了:-D – 2013-05-10 15:38:31