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

Javascript 如何防止标签使用knockoutjs刷新页面?,javascript,jquery,html,knockout.js,Javascript,Jquery,Html,Knockout.js,我有这个html代码,当用户点击可折叠边栏导航上的链接时,它会刷新所有页面并重新加载viewModel,但它会重置可折叠边栏。我认为这是因为父div has ata bind=click:clickEventTypeButton只是想问一下如何防止事件冒泡进入链接并使用KOjs刷新 <div class="toolbar-options cursor-hand" data-bind="click: clickEventTypeButton"> <label>Eve

我有这个html代码,当用户点击可折叠边栏导航上的链接时,它会刷新所有页面并重新加载viewModel,但它会重置可折叠边栏。我认为这是因为父div has 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>

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

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

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


检查,注4

解释您的观点?我在办公室的代码我将在早上第一件事就是尝试它。不清楚上下文。如果单击链接,页面将重新加载,这将重置页面,从而重置viewModel。听起来你们想保持页面之间可折叠边栏的状态?如果是这样,您可能想考虑cookie或在URL中传递值吗?可以在标签中使用CurkBase:false吗?