我在列表视图项上附加了一个单击事件,该事件会输入对话框。当我关闭对话框并尝试单击另一个项目时,单击事件不会再次发生。我所拥有的或更好的方法有什么问题吗?
var chapterId;
$(document).on('click', '.listview', function (e) {
var source = $(e.target).closest('li');
var id = source.attr('data-chapter');
if (id) chapterId = id;
else chapterId = null;
});
$(document).on('pageinit', '#mydialog', function (e) {
if (chapterId) {
//DO SOMETHING WITH ID LIKE GET FROM DATABASE
}
});
这就是我的列表视图的样子:
<ul data-role="listview" data-inset="true" class="listview">
<li data-chapter="1"><a href="dialog.html" data-rel="dialog">
<h2>Chapter 1</h2>
<p>Some text</p>
</a></li>
<li data-chapter="2"><a href="dialog.html" data-rel="dialog">
<h2>Chapter 2</h2>
<p>Some text</p>
</a></li>
<li data-chapter="3"><a href="dialog.html" data-rel="dialog">
<h2>Chapter 3</h2>
<p>Some text</p>
</a></li>
</ul>
第一次单击有效并在对话框 pageinit 事件中传递了正确的 Id,但关闭对话框并单击另一个不会触发单击(我也尝试了 vclick,但结果相同)。任何帮助将不胜感激!