Knockout.js Knockout js:无法从foreach databind click事件内的databind中的链接打开mailto页面

Knockout.js Knockout js:无法从foreach databind click事件内的databind中的链接打开mailto页面,knockout.js,viewmodel,Knockout.js,Viewmodel,我有一个消息列表,其中我将这些消息的模板绑定到一个点击事件中,然后在这个模板中我有一个超链接绑定到js函数,它应该打开一个mailto页面 但是点击这个链接不会打开页面,尽管js函数会执行,如果我右键点击“转到这个地址”,它会工作。我尝试了许多KO方法,如“clickBubble:false”和“ControlsDescentBindings”标志设置为true,“e.stopImmediatePropagation()”。但一切都失败了 以下是我代码的一部分: (局部视图) ...

我有一个消息列表,其中我将这些消息的模板绑定到一个点击事件中,然后在这个模板中我有一个超链接绑定到js函数,它应该打开一个mailto页面

但是点击这个链接不会打开页面,尽管js函数会执行,如果我右键点击“转到这个地址”,它会工作。我尝试了许多KO方法,如“clickBubble:false”和“ControlsDescentBindings”标志设置为true,“e.stopImmediatePropagation()”。但一切都失败了

以下是我代码的一部分:

(局部视图)


...    
(模板:messageTemplate)


...
  • ...
ReplyTo()在KO中是可观察的,OldMessageCollection是可观察的。它使用

<a data-bind="attr: { href: $root.mailToLink()}, click: function() {return true;}, clickBubble: false">ReplyTo</a>


您可以向我们展示您的视图模型吗?具体来说,
mailToLink
函数片段?使用“好奇,点击处理程序中的“返回true”如何影响代码”来解决此问题?请查看点击事件处理程序敲除中的文档。注3:“但是,如果您确实希望继续执行默认的单击操作,只需从单击处理程序函数返回true即可。”有关更多信息,请参阅:
<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>
<a data-bind="attr: { href: $root.mailToLink()}, click: function() {return true;}, clickBubble: false">ReplyTo</a>