我們正在github上構建一個戰艦遊戲。 Battleship已在頁面加載後顯示javascript提示
在這裏提示用戶,他的名字和他的船的位置,並根據答案,輸出顯示在一個叫做domsole的textarea上。
Domsole = (function($) {
var output;
var init = function(outname) {
output = $('#'+outname);
output.attr('disabled', 'disabled');
};
var ask = function(question) {
write(question);
var text = prompt(question);
write('> ' + text);
return text;
};
var write = function(text) {
output.append(text + "\n");
output.scrollTop(9999999999);
};
return {
ask: ask,
init: init,
write: write
};
})(jQuery);
$(document).ready(function() {
Domsole.init('domsole_out');
});
但是,在頁面加載之前詢問所有提示。
一些提示的是
this.name = Domsole.ask("What's your name, Playa?");
Domsole.write("Alright, " + this.name + " you shall be.");
........
......
var coord = Domsole.ask("Where would you like to take a shot? Valid input is: x, y");
調用Domsole.write和Domsole.ask也是這些的document.ready代碼。 在屏幕上顯示任何內容之前詢問所有提示?如何解決這個問題?
那麼你是說你提供的第二個snipplet代碼是調用ask/write方法不在文檔裏面嗎? @paris_serviola – Taplar
調用ask/write方法的代碼也在文檔準備好了 –
使用window.onload。看到這個問題的答案http://stackoverflow.com/questions/21742867/jquery-ready-vs-window-onload#21742922 – david25272