我確定標題看起來像之前被問過的內容,但是我已經搜索了這個答案並且找不到它。JavaScript按鈕在Chrome和IE中完美啓用,但在Firefox中不起作用
我真的很新的編碼,所以請原諒我所做的任何真正明顯的錯誤。
上下文到我正在處理的代碼:我在一個遊戲設計類,我決定接受一個製作HTML JS遊戲的個人項目。
我明白,代碼可能是粗糙/不好/絕對不是最好的方式做的事情,但它會一直如此,直到我提高我的技能(或提供建議如何改善它)。
我需要幫助:兩到三個星期,我無法弄清楚如何讓一個按鈕在if語句中實現時出現。
像這樣:
if(condition)
{
document.write("text");
//desired button here
}
else
{
//Backup code
}
最後我想通兩種方式來做到這一點(爲Chrome和Internet Explorer)。
第一種方式:
function myFunction()
{
document.close();
document.write("text");
/* There will be buttons in here
too when I get things working. */
}
//In separate script tags
/* myFunction() dwells in the head of the
page while the if statement is in the body
and another function*/
if(condition)
{
document.write("text");
var gameElement=document.createElement("BUTTON");
var text=document.createTextNode("CLICK ME");
gameElement.appendChild(text);
gameElement.onclick = myFunction;
document.body.appendChild(gameElement);
}
else
{
//Backup code
}
第二種方式:
(同樣的功能,他們都在同一個地方)。
if(condition)
{
document.write("text");
var gameElement;
gameElement = document.createElement('input');
gameElement.id = 'gameButton';
gameElement.type = 'button';
gameElement.value='Continue';
gameElement.onclick = myFunction;
document.body.appendChild(gameElement);
}
這對我很好。
儘管它在IE和Chrome中運行良好,但它在Firefox中不起作用。
經過多少時間和研究,我已經放入這個按鈕,我很想知道爲什麼它不會出現在Firefox中。我已經閱讀了很多關於Firefox的內容,以及.onclick如何工作或JavaScript之類的東西必須啓用或禁用。我只是有點困惑。
我也打開任何真實/相關的建議。
如果'condition'爲'true',則會看到單詞「text」和一個按鈕。你點擊按鈕,它消失。這適用於所有3種瀏覽器。什麼具體不工作? – chiliNUT
'document.write'在文檔初始渲染完成後調用時,會將整個文檔替換爲新的內容 - 所以這種方法是您想要拋棄並從您的武庫中取消的第一件事,請相信我。 – CBroe
@ chiliNUT-我在向Mike解釋的是我在提問時犯了一個錯誤。我遺漏了一個細節。條件轉到提示框,並轉到if(name!= null)。我沒有收到任何代碼部分的問題。它會運行直到我到達if語句中的按鈕。但是,如果您查看代碼,則如下所示: 如果條件爲真;你會看到文字和按鈕 - 這是有效的。 但該按鈕不會在Firefox中調用該功能。這是不行的。 – DanieWrathh