添加ClickListener JQuery Mobile ListView
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了添加ClickListener JQuery Mobile ListView相关的知识,希望对你有一定的参考价值。
我无法将clickListener添加到动态创建的listView中。我在stackoverflow上尝试了以下但是它不起作用
有什么问题,我该如何解决?
使用javascript / jQuery的
parseContent: function() {
$('#countries').append('<ul data-role="listview" id="mylistview" style="margin: 50px">');
$.each(jsonData, function(i, item) {
console.log(item.stad);
$('#countries').append('<li> <img src=' + "res/flags/" + item.flag + ' id="icon">' + '<span id="listlabel">' + item.country + '</span></li>').listview().listview('refresh');
$('#countries').hide().fadeIn(800);
});
$('#countries').append('<ul>');
/*
$('#mylistview').on('click', function() {
d.lg("Works"); // id of clicked li by directly accessing DOMElement property
});
*/
$('#mylistview').delegate('li', 'click', function () {
alert($(this).attr('id'));
});
}
<div data-role="page" id="one">
<div data-role="main" class="ui-content">
<div id="countries">
</div>
</div>
</div>
答案
.delegate(...)
根据JQuery文档进行了删除。
你试过吗:$("#countries").on("click", "li", function() {})
另一答案
总是这样做:
$(document).on('pagebeforeshow', '#index', function() {
$(document).on('click', '#mylistview li', function() {
alert($(this).attr('id'));
});
});
这是委托事件绑定;它不关心元素是否在DOM中。一旦元素在内部,所述事件将被附加到它上面。
工作示例:http://jsfiddle.net/8Lq9fkga/
另一答案
试试这个...
$("#mylistview").on("click", "li", function() {})
以上是关于添加ClickListener JQuery Mobile ListView的主要内容,如果未能解决你的问题,请参考以下文章
Android、Layout clicklistener 和 subview 点击问题
Android按钮视图绑定ClickListener不起作用
按钮 ClickListener 在 LibGDX 游戏中不起作用