【发布时间】:2012-01-19 17:37:28
【问题描述】:
使用此调用<a href="deleteDialog.html" data-rel="dialog" data-transition="pop" data-role="button" id='deleteDialog'>Delete</a> 获取以下对话框页面:
<div data-role="page" id="deleteCompanyDialog">
<script type="text/javascript">
$("#deleteButton").live("click", function() {
alert("this alert increments");
});
</script>
<div data-role="header" data-theme="d">
<h1>Dialog</h1>
</div>
<div data-role="content" data-theme="c">
<h1>Delete Company</h1>
<p id="message"></p>
<a data-role="button" data-theme="b" id="deleteButton" >Sounds good</a>
<a href="company.jsp" data-role="button" data-rel="back" data-theme="c">Cancel</a>
</div>
</div>
似乎保留了以前对该对话框的任何调用的live("click".. 绑定,然后再次绑定live 调用。因此,如果我分别调用页面 4 次,在第四个对话框页面调用中,它将弹出 4 个警报屏幕。有没有办法让 javascript 仍然在 data-role="page" 内,所以它可以使用 ajax 加载但不会增加“实时”绑定。我尝试了$("#deleteCompanyDialog").live("pagecreate"... 和pageload(远射),它们也不起作用。
我们将不胜感激。
【问题讨论】:
-
data-role="Dialog" 与 data-role="page" 处于相同的位置,所以如果你试图把它放在一个页面中,它是行不通的。