a鏈接的onclick與js中的return false


在學習《javascript基礎教程》第八版時,有一個小細節開始不是很明白,查了一些資料后,理了一下思路。

例子的html代碼:
<!DOCTYPE html>
<html>
<head>
    <title>Rotating Banner with Links</title>
    <script src="script08.js"></script>
    <link rel="stylesheet" href="script01.css">
</head>
<body>
    <div class="centered">
        <a href="linkPage"><img src="images/banner1.gif" id="adBanner" alt="ad banner"></a>
    </div>
</body>
</html>

例子的js代碼:

window.onload = initBannerLink;

var thisAd = 0;

function initBannerLink() {
    if (document.getElementById("adBanner").parentNode.tagName == "A") {
        document.getElementById("adBanner").parentNode.onclick = newLocation;
    }
    
    rotate();
}

function newLocation() {
    var adURL = new Array("negrino.com","sun.com","microsoft.com");
    document.location.href = "http://www." + adURL[thisAd];
    return false;
}

function rotate() {
    var adImages = new Array("images/banner1.gif","images/banner2.gif","images/banner3.gif");

    thisAd++;
    if (thisAd == adImages.length) {
        thisAd = 0;
    }
    document.getElementById("adBanner").src = adImages[thisAd];

    setTimeout(rotate, 3 * 1000);
}

 a本身會觸發一個鏈接,a的onclick會觸發一個鏈接,onclick事件執行后會觸發a本身的鏈接,為了阻止a本身鏈接的觸發,需要對onclick事件的函數返回false。

return true:返回正常的處理結果。

return false:返回錯誤的處理結果;終止處理;阻止提交表單;阻止執行默認的行為。

return:把控制權返回給頁面。

若將html代碼中的

 <a href="linkPage"><img src="images/banner1.gif" id="adBanner" alt="ad banner"></a>
改為:
 <a href="#"><img src="images/banner1.gif" id="adBanner" alt="ad banner"></a>
此時去掉js代碼中的return false,也可以實現同樣的效果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM