Listview会在首次加载时填充,但如果您通过单击链接访问页面则不会填充

时间:2014-04-16 14:06:42

标签: javascript jquery sqlite listview air

我正在使用JQuery学习Adobe Air,我正在使用Sitepoint教程中的一些示例代码。我遇到了一个相当不寻常的问题。如果我使用"在Adobe Air中预览"以及使用列表视图查看页面。在Dreamweaver中的选项,它填充正常。如果我离开页面并返回页面,列表视图就不会填充,页面上其余的javascript就会停止工作。

这是填充列表视图的代码:

function ListNotes() {

var notes = GetNotes();
$("#notes").empty();    
var numRecords = notes.data.length;

for (i=0;i<numRecords;i++) {                  
    $('#student-list').append("<li><a href=\"#\">"+unescape(notes.data[i].name)+" "+unescape(notes.data[i].lastseen)+"<br \/>"+unescape(notes.data[i].belt)+"<br \/>Last Session: <\/a><\/li>");
}
$('#student-list').listview('refresh');
$(".note_time a").click(function(){
    var currHash = $(this).attr("href").split('/');
    var id = currHash[1];

    var dbQuery = new air.SQLStatement();
    dbQuery.sqlConnection = db;
    dbQuery.text = "DELETE FROM students WHERE id=" + id;

    try {
        dbQuery.execute();
    } catch (error) {
        air.trace("Error deleting note from DB:", error);
        air.trace(error.message);
        return;
    }

    ListNotes();
});

}

listview进入div:

<div data-role="content" data-theme="a"><ul data-role="listview" data-inset="true" id="student-list" data-filter="true"></ul></div>

填充列表视图的notes.js中有一个片段:

$(document).ready(function(){

    BindEvents();
    CreateMenus();
    SetupDB();

    ListNotes();
});

页面在第一次加载时工作正常,通过&#34;预览Adobe Air&#34;,但如果您通过单击应用程序内的按钮导航到该页面,则该页面根本无法正常工作。我怀疑我错过了一些非常明显的东西,但我会很感激任何提示。

由于

1 个答案:

答案 0 :(得分:0)

我会试试这个:

$(".note_time a").on('click', function(){
    //your code here
});