我想要做的例子:在Facebook上,單擊在當前標籤中打開鏈接的鏈接將觸發一些Javascript而不是打開鏈接。但是,在新選項卡中打開它(通過右鍵單擊或按住Ctrl/Cmd)將打開鏈接而不調用任何Javascript。區分在當前標籤中打開的鏈接與新標籤
我想對我的鏈接做同樣的操作(鏈接行爲取決於目標)。我有onclick事件處理程序return false;
以避免打開鏈接;但是這會導致Ctrl +單擊無法打開鏈接。我如何實現這一目標?
編輯:我不想鏈接強制在新窗口打開。 如果鏈接在新窗口中打開,我希望它像往常一樣跟隨href
。但是,IF鏈接在當前窗口中打開,而不是在當前窗口中的鏈接,我想要一些Javascript運行。
如果您在當前窗口中打開它,並在整個頁面中打開它,如果您在新窗口中打開它,Facebook會打開彈出式「影院」中的圖像。
請注意,捕獲鏈接上的click
事件並使用preventDefault()
或return false
會導致Cmd + Click(在新選項卡中打開)失敗。在任何情況下,本應不論如何鏈接打開工作 - 點擊,回車鍵等
編輯2:看來hashchange
/HTML5 pushState的是去了解這個
你想在新窗口中的鏈接總是打開? – ShankarSangoli 2012-02-13 01:23:29
你不能只將目標更改爲所有錨上的'_blank'? – ZeroDivide 2012-02-13 01:27:17