這是jquerymobile應用程序的一個片段。這是一個簡單的文件管理器,允許刪除文件,並且我想確認刪除。我正在嘗試使用javascript 確認來仔細檢查一個操作是否應該繼續;但似乎無論我做什麼,我都不能停止它發生。jquerymobile確認似乎沒有影響結果?
<script type="text/javascript">
$(document).ready(function(){
$(".confirm").live("click",function(ev){
var nam = $(this).html(),
loc = $(this).attr('href'),
answer = confirm("Are you sure you want to delete:\n\n" + nam);
if (answer){
return true;
//window.location.href = loc;
}else{
ev.preventDefault();
return false;
window.location.href = window.location.href;
}
});
});
</script>
...
<div data-role="page" data-theme="a">
<div data-role="content">
<ul data-role="listview" data-inset="true">
...
<li><a class="confirm" href="?delete=#urlEncodedFormat(f.name)#">#f.name#</a></li>
</ul>
</div>
</div>
你可以看到,我已經嘗試了3種不同的方法來防止重定向頁面的鏈接,但沒有人似乎在做什麼,我所希望的。我究竟做錯了什麼?
你說得對,我誤解'.live',但'.bind'也不適用於我,因爲列表項是通過ajax加載的。正在瀏覽的文件系統要預先加載整個文件,所以它一次只加載一個目錄。我嘗試使用'.bind'(我實際上曾嘗試'.click'),但它仍然沒有做到我想要的。我可能只是嘗試切換到jquerymobile對話框,看看我能否得到這個工作。 – 2011-05-30 20:03:01
是的。 'bind'與'live'不同。在使用「live」方法之前,我使用jquery完成了一個重要的項目,而且我必須全力以赴。你自己處理ajax調用,爲什麼不把新的點擊綁定到你加載的任何東西?這就是它在舊時代的做法;)另外 - 請參閱我的編輯 – naugtur 2011-05-31 07:00:53
我使用了jqmobile對話框功能。我並不擔心漸進增強功能,因爲它是一個應用程序,用於我的家中,由我,在我的設備上使用,而且我無意將JS關閉。 – 2011-06-01 12:13:31