2013-02-20 29 views
1

我在使用ColorBox在我的網站上工作時遇到了一些腳本問題。如何修改此e.preventDefault以在主頁以外的所有頁面上工作?

最初,它被編碼爲覆蓋默認鏈接'launch(this);'只要在鏈接上找到類.boxElement。

我試圖修改它,以便覆蓋只發生在不是主頁時,但它似乎沒有觸發。相反,它只是防止在所有頁面上覆蓋。

$('.' + boxElement, document).live('click', function (e) { 
    if (!is_home()) { 
     e.preventDefault(); 
     launch(this); 
    } else { return true; } 
}); 

任何人都可以提供一些幫助嗎?我相信這是一個簡單的錯誤。

+6

你能告訴我們你的'is_home()'函數嗎? – BenM 2013-02-20 11:52:35

+2

'.live()'函數現在已經過時了幾個月(自jQuery 1.7發佈以來),並且完全在1.9中被刪除。您應該切換到使用'.on()'(1.7+)或'.delegate()' - 查看'.live()'的文檔以獲取從一個轉換到另一個的詳細信息。 – 2013-02-20 11:56:10

+1

@BenM - 我有一個有趣的感覺,這是一個PHP和JS混搭。 is_home()是一個內置的Wordpress PHP函數。我對泰勒? – McNab 2013-02-20 11:57:56

回答

5

這個函數應該返回真爲你的主頁

var is_home = function(){ 
     return window.location.href.indexOf("some_part_of_home_url") > -1; 
    } 
+1

完美,謝謝。正如@McNab指出的,我正在混合我的代碼。非常感謝! – Taylor 2013-02-20 12:07:07

相關問題