执行Knockout.js data-bind:在href跳转到另一个html元素之前单击函数

时间:2013-12-07 11:09:43

标签: javascript html5 knockout.js

我尝试执行带有敲除数据绑定的函数data-bind =“click:yourFunction”并希望它在执行之前在相同标记内的href跳转到antoher视图之前。我怎样才能做到这一点?代码示例:

<a data-role="detailbutton" data-icon="location"
data-bind="click: $parent.getLatLong"     
style="margin-right:45px;" href="#map-view" ></a>

1 个答案:

答案 0 :(得分:1)

您可以做的一件事是阻止点击处理程序中的默认值并自行导航到新视图:

(伪代码)

parent.getLatLong = function(evt) {
  evt.preventDefault();
  /* do my stuff */
  window.location.href = '#map-view';
}

显然,如果你必须做异步事情(我怀疑你这样做),你需要导航该异步调用的响应回调。