2012-07-25 118 views
0

我想在鏈接href是散列(#)時自動抑制點擊事件。我不想在每個視圖中使用e.preventDefault()來停止事件。如何禁止#hrefs的點擊事件?

如何停止應用程序廣泛的#hrefs點擊事件?

回答

1

有趣的問題。顯然,骨幹路由在默認行爲之前被觸發。你需要做的是在骨幹路由和默認行爲之間插入一個事件處理程序,然後e.preventDefault()

我相信事件處理程序的執行順序取決於它們的定義順序。所以有點玩弄。您可以使用以下來檢查事件處理程序數組:$(window).data('events');(我假設您使用的是jQuery?)

+0

是 - 使用jquery。搜索周圍我發現這個解決方案[Backbone-Boilerplate](https://github.com/tbranyen/backbone-boilerplate/blob/master/app/main.js) - 所以在初始化應用程序,他們在使用前抑制事件導航方法...關於這個的想法? – imrane 2012-07-25 20:55:16

+0

它看起來像你可以把你的'preventDefault'權限放在該腳本的末尾。至少值得一試。 – wanovak 2012-07-25 20:59:38

+0

你可能會繼續前進,並做到這一點。謝謝。 – imrane 2012-07-25 21:02:37