jQuery移动弹出点击一个li元素
jQuery mobile popup on clicking an li element
我正在尝试在UL列表中单击LI元素时显示弹出窗口。
这里是HTML部分
<ul id="list" data-role="listview" data-filter="true" data-inset="true">
</ul>
<div id="popups">
</div>
#list中的元素将被动态生成并填充。
因为我想要一个弹出框点击列表中的元素,当我在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>');
但是我得到的是https://dl.dropboxusercontent.com/u/2736804/others/2014_07_28_jQuery.PNG,当我点击UL中的元素时什么也没发生:(
我怎么能解决这个问题?
谢谢,Ram
你没有展示你如何处理点击LI(在你的js中),但动态生成内容的事情是,如果你想添加事件监听器,你需要使用委托一。所以:
$('#list li').click(function() { /* your code here */ });
你需要使用:
$('#list').on('click', 'li', function() { /* your code here */ });
您必须使用以下任何一种方法,因为li是动态创建的
$('#list').on('click', 'li', function() { });
或
$('#list').delegate('li', 'click', 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();
});
});
相关文章:
- 一个接一个地淡出每一个li
- 仅在具有相同类的一个 li 上预览文本
- 如何使用 jQuery 选择上一个 LI
- 当单击不同的li时,jQuery显示一个li
- slideToggle()使第一个li a在单击时跳转
- 当点击一个li中的图标时,我如何确定它是否是ul中的第一个li
- 通过使用jQuery和JavaScript单击另一个LI来删除一个LI
- 同时为一个 Li 元素设置类“活动”
- j查询悬停问题 - 最后一个 li 元素保持悬停状态
- 带有缩略图的轮播,在轮播旋转时将类添加到下一个 LI
- 如何从特定点到达下一个 li a
- 我已经在我的ul中添加了一个li,虽然它可以工作,但它会导致错误
- 手风琴我想更改第一个 li 边框半径和最后一个 li 边框半径,我该怎么做请帮助我.
- 目标最后一个 LI Javascript 然后操作
- jQuery 如何获取第一个 LI 父级
- 当移动到最后一个li时,返回到第一个li(使用Jquery滚动到下一个)
- 将li一个放在另一个之上,在去除最后一个li时,每li's会下降
- 针对DOM的前一个li元素不起作用
- 有人能理解为什么我的jquery函数上下滑动在我的第一个li标签上不能正常工作吗
- 如何使用javascript只选择一个li元素