Javascript 如何为jQuery listview中的特定链接创建单击事件。
我正在尝试创建一个函数,当您单击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
<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
});