如何防止标签使用 knockoutjs 刷新页面?
How to prevent a tag from refreshing page using knockoutjs?
当用户在可折叠侧边栏导航上单击 link 时,我有此 html 代码,它会刷新所有页面并重新加载 viewModel,但它会重置可折叠侧边栏。我认为这是因为父 div 有 ata-bind="click: clickEventTypeButton" 只是想问一下如何防止 link 中的事件冒泡并使用 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 将允许点击事件继续冒泡到任何更高级别的事件处理程序。
例如,如果您的元素和该元素的父元素都在处理点击事件,那么这两个元素的点击处理程序都会被触发。
由于 href 是侧边栏的子项,当您点击 href 时,将触发 2 个点击处理程序,因此您需要在滑动条上使用 clickBubble: false
勾选here,注4
当用户在可折叠侧边栏导航上单击 link 时,我有此 html 代码,它会刷新所有页面并重新加载 viewModel,但它会重置可折叠侧边栏。我认为这是因为父 div 有 ata-bind="click: clickEventTypeButton" 只是想问一下如何防止 link 中的事件冒泡并使用 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 将允许点击事件继续冒泡到任何更高级别的事件处理程序。
例如,如果您的元素和该元素的父元素都在处理点击事件,那么这两个元素的点击处理程序都会被触发。
由于 href 是侧边栏的子项,当您点击 href 时,将触发 2 个点击处理程序,因此您需要在滑动条上使用 clickBubble: false
勾选here,注4