2012-06-14 43 views
0

下面是我使用的功能:不能停止URL默認事件

$('.urlz').click(function (event) { 
    event.preventDefault(); 
    var url = this.href; 
    log('Url of link : ' + url.toString()); 
    if (url.indexOf("bridge.asp") < 0) { 
     var site_domain = fnGetDomain(url); 
     // window.location.href=$(this).attr('href'); 
     return false; 
    } 
}); 

這裏的元素..

<a href="bridge.asp?sitename=webcing" target="_blank" class="urlz">Visit The Site</a> 

它可能是火災的東西我以前功能可按,我已經該函數在document.ready中。

+0

preventDefault **和** return false不應該是必需的。這裏有一篇關於(錯誤)使用return false的好文章:http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/ –

+0

好的,感謝文章 –

回答

3

return false位於錯誤的位置...它當前在if聲明中...將其移動到末尾...

$('.urlz').click(function(event){ 
    event.preventDefault(); 
    var url=this.href; 
    log('Url of link : '+url.toString()); 
    if(url.indexOf("bridge.asp")<0){ 
    var site_domain=fnGetDomain(url); 
    // window.location.href=$(this).attr('href'); 
    } 
    return false; 
}); 
+0

這應該沒有什麼區別,因爲'.preventDefault()'已經禁止了默認操作。 – Christoph

+0

對不起我的錯..你是對的,freefaller –

+1

很高興幫助@DmitryMakovetskiyd - 雖然我很困惑,因爲克里斯托弗說的話也有道理 - 但如果它有效,那麼它的作品! – freefaller