在Private Logistics: Privacy-Sensitive Calendar, Todo, and Personal Information Management,進入正題可以用點擊來編輯的數據,並沒有對任何進入的鏈接作爲< A HREF =」 ...或輸入一個網址,這將是linkified支持。如何在jQuery中製作「reverse preventDefault」?
該作品很棒,但是當有人點擊一個鏈接時會出現問題,期望的行爲是打開鏈接,而不是將文本片段放入編輯模式,這與'event.preventDefault()'實現的常見模式相反。 '或'... return false;}'(點擊鏈接外的元素應該將包含元素置於編輯模式,與沒有鏈接的容器相同)。
我怎樣才能扭轉更常見的模式使用jQuery?我現在最好的猜測是試圖對事件目標進行反思,看看它是否是一個主播。但這只是一個最好的猜測。我已經看到了很多模式的例子,它們會取消加載另一個頁面的鏈接,但執行將容器置於編輯模式的附加Ajax功能;我不確定我是否看到了該鏈接後面的模式,並且沒有將容器置於編輯模式。
我也看到一種方法來避免鏈接加載在同一頁面的問題,但這是我喜歡只採用的解決方案,如果有實施或類似的棘手問題。
它是一個選項,只是沒有攔截的鏈接點擊,但只在您生成的可編輯元素的白名單? (例如,使用CSS類)。然後,您可以附加一個處理程序,該程序會在您使用鏈接創建的鏈接上調用['stopPropagation()'](http://api.jquery.com/event.stopPropagation/)。 – millimoose
即使點擊鏈接也能做些什麼,它只會帶你到鏈接的頁面,所以無論如何不會有問題,對吧? – sachleen
stopPropagation阻止事件向上遊傳播; preventDefault停止元素的默認行爲;返回false會做兩個。您遇到的問題聽起來像是您在有效鏈接上發生了單擊事件,從而阻止了錨點的默認行爲。我的建議是更具體的哪些錨元素通過修改選擇器來實現該點擊事件。 – Nicodemeus