【发布时间】:2015-07-02 22:31:09
【问题描述】:
我有三个按钮,每个按钮调用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";
}
})
}
一切正常。我单击按钮,调用函数,传递正确的字符串,然后我很高兴地被发送到下一页,一切都正常工作。但是,我必须在按钮上单击两次才能使其工作。我第一次点击没有任何反应。有什么想法吗?
【问题讨论】:
-
你能把你的代码放在小提琴里吗?
-
为什么将
document.ready放在chooseMap函数中 -
很可能没有调用chooseMap,当文档被加载但是当你第一次点击你的按钮时。然后单击事件与按钮一起注册,并在您第二次单击它时触发。这可能吗?
-
很难将一些按钮包装在您需要使用 jquery 的 href 链接中
-
超级超级经典的问题。您将点击附加到另一个函数中,因此只有在调用该函数后点击才会生效。
标签: javascript jquery html button onclick