2013-05-01 80 views
0

我想將我的頁面重定向到即將到達我的變量的url,但它不工作時沒有提示。沒有提醒頁面沒有通過jquery重定向

如果我把警報然後重定向否則不。

$(document).ready(function(){ 
    $("a").click(function(){ 
    var newurl = 'http://www.xyz.com/' + $(this).attr('href'); 
     //$(this).attr(newurl,'href'); 
     window.location.href = newurl; 
     alert(newurl); 
    }); 
}); 

提前感謝名單

錨標記

<a href="includes/footer.jsp">new url</a> 
+0

您無法阻止默認操作,該操作位於鏈接中的URL後面。這將優先於手動設置URL(因爲默認操作稍後發生並因此覆蓋更改)。請參閱http://api.jquery.com/event.preventDefault/。爲什麼它使用'alert',我不知道。它可能以某種方式取消默認操作。 – 2013-05-01 09:10:59

回答

0

添加preventDefault到事件處理程序,以防止下面的鏈接網址:

$(document).ready(function(){ 
    $("a").click(function(e){ 
     e.preventDefault(); 
     var newurl = 'http://www.xyz.com/' + $(this).attr("href"); 
     window.location.href = newurl; 
    }); 
}); 
+0

thnx buddy ...其工作正常 – supersaiyan 2013-05-01 09:14:54

+0

接受你,因爲我喜歡這兩種解決方案 – supersaiyan 2013-05-01 09:19:11

1

請嘗試以下

$(document).ready(function() { 
    $("a").click(function (event) { 
     var newurl = 'http://www.xyz.com/' + $(this).attr('href'); 
     window.location.href = newurl; 
     event.preventDefault() 
    }); 
}); 

您需要防止使用preventDefault()傳播默認事件。瀏覽器重定向到href之前jquery有機會改變它。通過使用警報,你延遲瀏覽器重定向,因此它似乎工作。

+0

thnx buddy..upvote for u – supersaiyan 2013-05-01 09:19:33

+0

thnx哥們現在罰款.. – supersaiyan 2013-05-01 09:20:55