3

これらのメッセージのテンプレートをクリックイベントにバインドするメッセージのリストがあり、このテンプレート内に、mailtoページを開く必要があるjs関数へのハイパーリンクバインドがあります。

しかし、js関数は実行されますが、このリンクをクリックしてもページは開きません。「このアドレスに移動」を右クリックすると機能します。「clickBubble:false」、「controlsDescendantBindings」フラグをtrueに設定、「e.stopImmediatePropagation()」として、多くのKOメソッドを試しました。しかし、すべて失敗しました!

これが私のコードの一部です:

(部分図)

<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で監視可能であり、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 に答える