Stosując tę rozmowę <a href="deleteDialog.html" data-rel="dialog" data-transition="pop" data-role="button" id='deleteDialog'>Delete</a>
uzyskać następującą stronę dialogowe:JQuery Mobile: inline data-role = "page" javascript jest zachowywany po wydaniu strony z DOM?
<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>
wydaje się zachowują live("click"..
wiążące od wszelkich wcześniejszych wezwań do tego okna, a następnie ponownie wiąże połączenie live
. Więc jeśli zadzwonię na stronę 4 oddzielne czasy, na czwartym wywołanie strony dialogowej wyskoczy 4 ekrany alertów. Czy istnieje sposób, aby javascript nadal był w zakresie data-role="page"
, aby mógł załadować z ajaxem, ale nie zwiększać wiązania "na żywo". Próbowałem $("#deleteCompanyDialog").live("pagecreate"...
, a także pageload
(długie ujęcie), które również nie działa.
Pomoc byłaby bardzo ceniona.
data-role = "Dialog" jest na równej pozycji jako data-role = "strona", więc jeśli spróbujesz umieścić go na stronie, to nie zadziała. –