我已經研究了Stack Overflow上的這個問題,但是無法通過this和this問題解決我的問題。Javascript onclick()需要兩次點擊
這裏是我的問題:
我有三個按鍵,分別調用chooseMap()
功能onclick
然後基於按鈕id
重定向用戶到一個新的頁面。一切正常,但我必須每次點擊兩次。誰能告訴我爲什麼這是,我該如何解決它?
<div class="row text-center" onclick="chooseMap();">
<div class="col-md-4">
<button type="button" class="btn btn-primary" id="world" >World Map</button>
</div>
<div class="col-md-4">
<button type="button" class="btn btn-primary" id="europe">Europe</button>
</div>
<div class="col-md-4">
<button type="button" class="btn btn-primary" id="sweden">Sweden</button>
</div>
</div>
function chooseMap(){
$(document).ready(function() {
document.getElementById("sweden").onclick = function(){
location.href = "map_game/sweden.html";
}
document.getElementById("europe").onclick = function(){
location.href="map_game/europe.html";
}
document.getElementById("world").onclick = function(){
location.href="map_game/world.html";
}
})
}
一切正常。我點擊按鈕,函數被調用,傳遞正確的字符串,我很高興地發送到下一頁,其中的一切都可以。但是,我必須點擊兩次按鈕才能使其工作。我第一次點擊沒有任何反應。有什麼想法嗎?
你能把你的代碼放在小提琴中嗎? –
爲什麼在'chooseMap'函數中放置'document.ready' –
當文檔被加載但是第一次點擊按鈕時,很可能不會調用chooseMap。然後,單擊事件向按鈕註冊並在第二次點擊時觸發。那可能嗎? – Fuzzzzel