これらのメッセージのテンプレートをクリックイベントにバインドするメッセージのリストがあり、このテンプレート内に、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です。