Javascript 单击li元素时,jQuery mobile弹出窗口
我试图在点击UL列表中的LI元素时显示一个弹出窗口 这里是html部分Javascript 单击li元素时,jQuery mobile弹出窗口,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我试图在点击UL列表中的LI元素时显示一个弹出窗口 这里是html部分 <ul id="list" data-role="listview" data-filter="true" data-inset="true"> </ul> <div id="popups"> </div> #列表中的元素将动态生成并填充 因为我想在点击列表中的元素时弹出一个窗口,当我在UL中插入元素时,我是这样做的 $("#popups").append('<
<ul id="list" data-role="listview" data-filter="true" data-inset="true">
</ul>
<div id="popups">
</div>
#列表中的元素将动态生成并填充
因为我想在点击列表中的元素时弹出一个窗口,当我在UL中插入元素时,我是这样做的
$("#popups").append('<div data-role="popup" id="' + event.data.key + '">' + '<p>' + event.data.text + '</p>' + '</div>');
$("#list").append('<li><a href="#' + event.data.key + '" data-rel="popup" class="ui-btn ui-corner-all ui-btn-right" >' + event.data.text + '</a></li>');
$(“#弹出窗口”).append(“+”“+event.data.text+”“+”);
$(“#列表”)。追加(“”);
但我得到的是,当我点击UL中的元素时,什么也没有发生:(
我怎样才能解决这个问题
谢谢,
Ram您没有展示如何处理单击LI(在js中)的问题,但是动态生成内容的问题是,如果要添加事件侦听器,您需要使用delegate one。 因此:
$('#list li').click(function() { /* your code here */ });
您需要使用:
$('#list').on('click', 'li', function() { /* your code here */ });
您必须使用以下任何一种方法,因为li是动态创建的
$('#list').on('click', 'li', function() { });
或
谢谢大家
“代表”帮助了我
这里是修复
$(document).ready(
function() {
$('#list').delegate('li', 'click', function() {
var listId = this.id;
console.log("element id: " + listId);
popupElement = '#'+listId+'L';
console.log("popupElement id: " + popupElement);
$( popupElement ).popup();
});
});
$(document).ready(
function() {
$('#list').delegate('li', 'click', function() {
var listId = this.id;
console.log("element id: " + listId);
popupElement = '#'+listId+'L';
console.log("popupElement id: " + popupElement);
$( popupElement ).popup();
});
});