簡體   English   中英

內部帶有onclick的href的字符串

[英]string of a href with onclick inside

我是JavaScript的新手,並按照過時/半錯誤的指南嘗試對乒乓進行編碼。 HTML文件具有一個消息框,在有人得分后,此功能會寫入該消息框。

function score(side) {
    clearInterval(t);
    msgBox = document.getElementById('messageBox');
    msgBox.style.visibility = "visible";
    scorePop = "<p> Point for the "+side+" side!<br/> ";
    scorePop += "To serve the ball again, press \"s\" after closing this pop-up.</p>";
    scorePop += "<a href="\"javascript:return false="" onclick="\prepNewGame('"left"');return"X Close</a>";
    msgBox.innerHTML = scorePop;
}

傳遞的參數是“左”或“右”形式的獲勝方。 我知道問題出在代碼的倒數第二行,因為如果我注釋掉它,我可以運行其他所有代碼。 我相信字符串中的引號有問題,但是我盯着這個看了太多小時了。 盡管我不確定代碼的倒數第二行是什么意思,但我相信它應該出現在msgBox中並帶有“ X Close”按鈕並同時提示prepNewGame。 關閉后,用戶可以按“ s”開始新游戲。 這是prepNewGame,以防萬一。

function prepNewGame(side) {
    t=0;
    msgBox.style.visibility='hidden';
    theBall.style.top = "10px";
    if(side == "left") {
        theBall.style.left = "25px";
        rpadl.style.top = "5px";
        lpad.style.top = "5px";
    } else {
        theBall.style.left = (winWidth-40) + "px";
        rpadl.style.top = "5px";
        lpadl.style.top = "5px";
    }
}

更簡單的是返回false onclick:

scorePop += "<a href=\"#\" onclick=\"return prepNewGame('left');\">X Close</a>";

並在prepNewGame函數中:

function prepNewGame(side) {
    .....
    .....
    return false;
}

代碼的倒數第二行嘗試在單擊時啟動新游戲。 它在click事件上返回false,以防止重新加載頁面。

javascript:return false;

我覺得問題可能出在雙引號"\\"javascript:return false=""的轉義中。 嘗試按照以下方式使用:

scorePop += "<a href='#' onclick='return prepNewGame(\"left\");">X Close</a>';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM