点击/点击<li> </li>后,jquery移动导航栏锚点不会触发

时间:2014-09-16 16:33:48

标签: jquery listview mobile click navbar

我为无序列表动态构建列表项,这似乎可以正常工作:

var catList = "<ul id='lstEntry' data-role='listview'>";

if (selectedCategory.entries != null) {
    $.each(selectedCategory.entries, function (key, entry) {
        catList += "<li class='clsEntry' data-id='" + key + "'>";
        catList += "<input type='checkbox' id='isExcluded" + key + "'" + (entry.exclude ? ' checked ' : '') + "/>";
        catList += entry.title;
        catList += "<p class='ui-li-aside'><input type='number' min='0' style='width:20px;' id='weight" + key + "' value='" + entry.quantity + "'></p>"
        catList += "</li>";
    });
}

catList += "</ul>";
$("#divEntries").html(catList);
$("#lstEntry").listview();
//$("#lstCategory").listview("refresh");  //doesn't impact problem

在页脚中,我有一个带锚标记的导航栏:

<div data-role="navbar">    
  <ul>
       <li data-icon="plus"><a href="#" onclick="addNewEntry(); return false;" class="ui-btn-active">New Entry</a></li>
       <li data-icon="refresh"><a href="#" onclick="calculate(); return false;" class="ui-btn-active">Calculate</a></li>    
  </ul> 
</div>

锚点工作正常,直到我点击/点击列表框中的复选框,或更改输入中的值。一旦我这样做,第一次单击/点击导航栏中的任何锚点都不起作用,但屏幕跳转有点像发生错误,但我没有记录任何错误(或我错过了它)。第二次以及随后的点击/点击再次起作用。

我在Android和wp8的模拟器和实际设备中遇到过这种情况。

有人知道可能导致这种情况的原因吗?如果他们第一次更改列表项中的某些内容,我讨厌让用户点击两次。

1 个答案:

答案 0 :(得分:0)

事实证明,它与数据tap-toggle属性无关,而且没有在包含data-role =&#34; footer&#39;的div上设置。当内容区域中存在可能的交互时,应将其设置为false。

我通过另一篇文章发现了这个: Jquery Mobile Persistent Navbar - Flickers