a使用Jquery Mobile 1.3.0和knockoutjs时无法加载页面

时间:2013-02-26 09:24:43

标签: jquery-mobile knockout.js

我使用jquery mobile 1.2.0和knockoutjs编写了一个html代码,如下所示

<div id="shoppingCar" data-role="page">
    <div data-role="header" data-position="fixed" data-id="headernav">
        <a data-transition="slide" data-bind="html:editTextForLeft, click:$root.editFuncForLeft, attr:{href: $root.getHref }">add</a>
        <h2>order</h2>
        <a data-bind="click:toEditModel, html:editText" data-mini="true">edit</a>
    </div>

它运行良好(没有错误没有警告,add属性可以加载页面#goodsAdd),但是当我将jquery mobile 1.2.0更新为1.3.0时,属性a无法加载goodsAdd页面。有人可以帮帮我吗?非常感谢

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并在knockout.js网站上找到了答案。只需在点击处理程序的末尾添加“return true”。

  

注3:允许默认点击操作

     

默认情况下,Knockout会阻止点击事件   默认动作。这意味着如果您在a上使用click绑定   例如,标签(链接),浏览器只会调用您的处理程序   功能,不会导航到链接的href。这很有用   默认,因为当你使用点击绑定时,通常是因为   您正在使用该链接作为操纵您的视图的UI的一部分   模型,而不是作为另一个网页的常规超链接。

     

但是,如果您确实要让默认点击操作继续,请执行   从您的点击处理函数返回true。