3

我有一个消息列表,我将这些消息的模板绑定到一个点击事件中,然后在这个模板内部我有一个超链接绑定到应该打开一个 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。

4

1 回答 1

5

它是使用解决的

<a data-bind="attr: { href: $root.mailToLink()}, click: function() {return true;}, clickBubble: false">ReplyTo</a>
于 2012-09-28T07:41:40.347 回答