這是我想做的事:我有這個處理程序處理鏈接的點擊:是否可以停止從元素開始的所有事件?
$('body').on('click', 'a.ajax.get', function(e){
e.preventDefault();
$.get($(this).attr('href'), function(){alert('Success!');});
});
後來我創造了這個處理程序,所以我可以要求用戶確認的動作發生之前:
$('body').on('click', 'a[data-confirmation]', function(){
return confirm($(this).data('confirmation'));
});
該處理器被放置在我的腳本的頂部
引起我的問題的標記是這樣的:
<a href="do/something/there" class="ajax get" data-confirmation="Are you sure you want to do that?">
Click me!
</a>
我以爲它會做的是,當用戶點擊確認對話框「取消」,則回調將返回false
和事件鏈將停止。這不會發生,無論用戶在確認框中選擇什麼,鏈接都會被「點擊」。
我做得不對,或者這是不可能的?
嘗試像'如果(確認( '你確定嗎?'))......' – NoNameZ
爲什麼(/會)你創建一個單獨的處理程序進行確認?我不明白你爲什麼不能將它與第一個處理程序結合起來。 –
我希望能夠在任何元素上使用它,而不管它觸發什麼事件,這就是爲什麼。如果這是不可能的,我總是可以回到在.ajax.get處理程序上添加檢查... – Loupax