我在Learn.knockoutjs.com上试用mail client tutorial。我想在邮件详细信息块中添加“后退按钮”。但该按钮是自动触发的。
我的代码
<div class="viewMail" data-bind="with: chosenMailData">
<button data-bind="click: alert('derp')">derp</button>
<div class="mailInfo">
<h1 data-bind="text: subject"></h1>
<p><label>From</label>: <span data-bind="text: from"></span></p>
<p><label>To</label>: <span data-bind="text: to"></span></p>
<p><label>Date</label>: <span data-bind="text: date"></span></p>
</div>
<p class="message" data-bind="html: messageContent" />
</div>
当我设置 selectedMailData 时,viewMail div显示。但同时浏览器警报“derp”。当我点击按钮时,我希望当时的浏览器提醒。怎么了?
答案 0 :(得分:9)
当with绑定呈现内容时,将执行警报代码。
将其包装在函数中或将其移动到视图模型中的函数
<button data-bind="click: function() { alert('derp'); }">derp</button>