如何在执行<href>?</href>之前执行Knockout.js操作

时间:2014-06-14 19:39:53

标签: javascript jquery html5 data-binding knockout.js

我在使用knockout.js和Html5时遇到过这个问题,但我还没有找到如何处理它。在这里,最重要的是在将Href跟随到另一个页面之前执行点击绑定权限。绑定本身有一个ajax方法将数据插入到我的数据库中,因此在遵循所述的href之前,它必须执行此绑定。

HTML就像这样:

       <div data-role="header" data-theme="b">  
            <a href="secondForm.html" data-icon="back" rel="external"> Back </a>
            <h1> Some Text </h1>  

            <div  class="ui-btn-right"  data-role="controlgroup" 
                   data-type="horizontal">

                 <a data-bind="click: linkCustomer" rel="external"  id="continue" 
                  data-role="button" data-theme="b" href="home.html">Continue</a>

            </div>
        </div>

它认为这两种行为都会被执行,但这种看法是错误的。执行的唯一操作是Href。

我的代码中是否有任何错误?

2 个答案:

答案 0 :(得分:1)

其执行的客户端test my fiddle here

http://jsfiddle.net/zXWTW/1/

我的猜测是ajax请求在页面卸载之前没有启动

答案 1 :(得分:1)

这是一个经典案例。

您尝试执行某些js脚本,但同时,您的浏览器会重定向到href。

要解决这个问题,如果你使用角度,你可以使用promises;否则,你必须停止事件传播,处理你的东西,然后,完成后重定向到link.href属性。