Javascript 如何为jQuery listview中的特定链接创建单击事件。

Javascript 如何为jQuery listview中的特定链接创建单击事件。,javascript,jquery,html,jquery-mobile,Javascript,Jquery,Html,Jquery Mobile,我正在尝试创建一个函数,当您单击listview中的特定链接时,该函数将启动。 问题是,当你点击链接时,事件似乎不会触发。列表是动态创建的。我不确定这是否会引起问题 <label for="listviewForLastTenCalls">Last Ten Calls:</label> <ul data-role="listview" id="listviewForLastTenCalls"> </ul> <scrip

我正在尝试创建一个函数,当您单击listview中的特定链接时,该函数将启动。 问题是,当你点击链接时,事件似乎不会触发。列表是动态创建的。我不确定这是否会引起问题

    <label for="listviewForLastTenCalls">Last Ten Calls:</label>
    <ul data-role="listview" id="listviewForLastTenCalls">
    </ul>
<script>
   $('#listviewForLastTenCalls li').click(function(){
        //alert('click event handler fired');
</script>
最近十次通话:
$('#listviewForLastTenCalls li')。单击(函数(){ //警报(“单击触发的事件处理程序”);
类似这样的内容:

$(function() {
   $("#listviewForLastTenCalls li").on('click', function() { alert('clicked');  });
});

问题是,您在创建列表后正在添加单击侦听器。首次创建侦听器时,没有任何内容可供侦听。您需要在添加
  • 后添加单击事件


    我希望这不是你的全部加价

      <label for="listviewForLastTenCalls">Last Ten Calls:</label>
        <ul data-role="listview" id="listviewForLastTenCalls">
        </ul>
    
    <script>
       $('#listviewForLastTenCalls li').click(function(){
            //alert('click event handler fired');
       }); //<--
    </script>
    
    最近十次通话:
    
    $('#listviewForLastTenCalls li')。单击(函数(){ //警报(“单击触发的事件处理程序”); })对于动态添加的元素,您必须执行以下操作

        $('"#listviewForLastTenCalls"').on("click",'li' ,function(){
           alert('triggered');
        });
    
    为什么on()可以工作

    事件处理程序仅绑定到当前选定的元素;它们必须在代码调用.on()时存在于页面上


    请发布相关的HTML代码,您的实际代码中没有LI…
    $(文档)。在('click','#listviewforlasttenli',函数(){
    或者更好,使用delegation感谢omar的帮助。我忘记了事件处理程序会尝试锁定在文档加载之前不存在的li。@Matt不客气,请查看演示以了解更多详细信息:)
      <label for="listviewForLastTenCalls">Last Ten Calls:</label>
        <ul data-role="listview" id="listviewForLastTenCalls">
        </ul>
    
    <script>
       $('#listviewForLastTenCalls li').click(function(){
            //alert('click event handler fired');
       }); //<--
    </script>
    
        $('"#listviewForLastTenCalls"').on("click",'li' ,function(){
           alert('triggered');
        });
    
    $('#listviewForLastTenCalls li a').click( function () {
     // code
    });