2013-02-20 30 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

相关问题