我有一个消息列表,我将这些消息的模板绑定到一个click事件然后在这个模板里面我有一个超链接绑定到应该打开mailto页面的js函数。但是点击此链接不会打开页面,虽然js函数执行,如果我右键单击“转到此地址”它可以工作。我尝试了很多KO方法,因为“clickBubble:false”将“controlsDescendantBindings”标志设置为true,“e.stopImmediatePropagation()”......但都失败了!我被卡住了,如果有人能帮助我,我会很感激! 这是我的代码的一部分:
(部分视图)
<div data-bind="template: { name: 'messageTemplate', foreach: OldMessageCollection}">
...
</div>
(模板:messageTemplate)
<div class="message_listed" data-bind="click: $root.GetSelectedMessage">
...
<ul class="actions_list">
<li><a data-bind="attr: { href: $root.mailToLink(ReplyTo())}"></a></li>
...
</ul>
</div>
ReplyTo()是KO中的一个observable,而OldMessageCollection是observableArray。
答案 0 :(得分:5)
使用
解决<a data-bind="attr: { href: $root.mailToLink()}, click: function() {return true;}, clickBubble: false">ReplyTo</a>