如何使用knockoutjs阻止标签刷新页面?

时间:2015-01-29 03:05:56

标签: javascript jquery html knockout.js

我有这个HTML代码,当用户点击可折叠侧边栏上的链接导航它刷新所有页面并重新加载viewModel但它将重置可折叠侧边栏。我认为这是因为父div有ata-bind =“click:clickEventTypeButton”只是想问我如何防止链接中的事件冒泡并使用KOjs刷新

<div class="toolbar-options cursor-hand" data-bind="click: clickEventTypeButton">
    <label>Event Type</strong>
</div>
<div class="toolbar-secondary-options initial-state" data-bind="fadeVisible: isEventTypeSelected">

    <a class="menuItem" data-bind="attr: {href: eventTypeLink}">
        <div class="toolbar-options cursor-hand">
            <strong>Event Types</strong>
        </div>
    </a>


    <a class="menuItem" data-bind="attr: { href: programLink }">
        <div class="toolbar-options cursor-hand">
            <strong>Programs</strong>
        </div>
    </a>
</div>

1 个答案:

答案 0 :(得分:0)

默认情况下,Knockout将允许click事件继续冒泡到任何更高级别的事件处理程序。

例如,如果您的元素和该元素的父元素都处理click事件,则将触发两个元素的单击处理程序。

由于href是侧边栏的子项,因此当您点击href时,将触发2点击处理程序,因此您需要在滑动条上使用clickBubble: false

检查here note 4