我使用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页面。有人可以帮帮我吗?非常感谢
答案 0 :(得分:0)
我遇到了同样的问题,并在knockout.js网站上找到了答案。只需在点击处理程序的末尾添加“return true”。
注3:允许默认点击操作
默认情况下,Knockout会阻止点击事件 默认动作。这意味着如果您在a上使用click绑定 例如,标签(链接),浏览器只会调用您的处理程序 功能,不会导航到链接的href。这很有用 默认,因为当你使用点击绑定时,通常是因为 您正在使用该链接作为操纵您的视图的UI的一部分 模型,而不是作为另一个网页的常规超链接。
但是,如果您确实要让默认点击操作继续,请执行 从您的点击处理函数返回true。