Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 绑定函数只对最后一个元素起作用_Javascript_Jquery_Cordova - Fatal编程技术网

Javascript 绑定函数只对最后一个元素起作用

Javascript 绑定函数只对最后一个元素起作用,javascript,jquery,cordova,Javascript,Jquery,Cordova,我正在创建一个应用程序来存储我的作业,每当我触摸作业的li时,就会从sqlite数据库中显示该作业的信息。我的问题是,当我从javascript添加每个li时,我绑定了一个函数,这样每次我触摸该项时,它都会返回其uid。但是每当我添加一个新的硬件时,其他硬件都不会返回uid 我的一些代码: function newFormSuccess(tx, results){ var lista = $("#lHw"); var obj = $( '<li><

我正在创建一个应用程序来存储我的作业,每当我触摸作业的li时,就会从sqlite数据库中显示该作业的信息。我的问题是,当我从javascript添加每个li时,我绑定了一个函数,这样每次我触摸该项时,它都会返回其uid。但是每当我添加一个新的硬件时,其他硬件都不会返回uid

我的一些代码:

function newFormSuccess(tx, results){
    var lista = $("#lHw");
    var obj = $(
        '<li><a id="' + results.id + '" href="#detalle" data-uid=' + results.id +
        ' class="ui-btn ui-btn-icon-right ui-icon-carat-r" data-transition="pop" data-direction="reverse">' +
        '<h2>' + results.title + '</h2>' +
        '<p>' + results.desc + '</p><p>' + results.date + '</p>' +
        '<p class="ui-li-aside">Type</p></a>' +
        '</li>'
    );
    obj.find('#' + results.id).bind('click', function (e) {
        $.id = $(this).data('uid');
    });
    lista.append(obj).listview('refresh');
    $.mobile.changePage("#home");
}
函数newFormSuccess(发送,结果){
var lista=$(“#lHw”);
var obj=$(
“
  • ”+ “
  • ” ); obj.find(“#”+results.id).bind('click',函数(e){ $.id=$(this.data('uid'); }); lista.append(obj.listview('refresh'); $.mobile.changePage(“主页”); }

    有什么建议吗?为什么会发生这种情况?

    我通过将绑定更改为.on,并将其用于设备就绪功能,解决了这个问题,我认为这就是代表所评论的内容

    $("#lHw").on("click", "li a", function(e){
            $.id= $(this).data('uid');
        });
    

    我通过将bind改为.on并在设备就绪函数中使用它来解决了这个问题,我认为这就是代理所评论的内容

    $("#lHw").on("click", "li a", function(e){
            $.id= $(this).data('uid');
        });
    

    在为您发布答案之前,我想鼓励您研究jQuery的委托。查看文档,快速更改语法,您就可以运行了。谢谢!!我设法解决了它,这非常有帮助!在为您发布答案之前,我想鼓励您研究jQuery的委托。查看文档,快速更改语法,您就可以运行了。谢谢!!我设法解决了它,这非常有帮助!