在javascript中禁用加载功能直到选中按钮?
嗨,这是一个奇怪的问题,我会尽量正确地问。我有一个使用javascript的函数,名为LoadCanvas在javascript中禁用加载功能直到选中按钮?,javascript,jquery,html,Javascript,Jquery,Html,嗨,这是一个奇怪的问题,我会尽量正确地问。我有一个使用javascript的函数,名为LoadCanvas function loadCanvas(canvas) { relevant code here... } 我还有一个普通的按钮叫btn <button class="btn" type="button">Play!</button> 玩吧! 我想知道在选择播放按钮之前是否可以禁用该功能?该函数用于使用javascript的游戏。所以在加载时,直到我按下
function loadCanvas(canvas) {
relevant code here...
}
我还有一个普通的按钮叫btn
<button class="btn" type="button">Play!</button>
玩吧!
我想知道在选择播放按钮之前是否可以禁用该功能?该函数用于使用javascript的游戏。所以在加载时,直到我按下play键,它才会出现
有什么想法/帮助吗?您需要做以下几点:
函数加载画布(游戏){
警报(“加载画布”);
}
玩吧代码>$(文档).ready(函数(){
var loadCanvas=函数(画布){
相关代码在这里。。。
}
$(“#test”).on('click',loadCanvas());//使用jquery
document.getElementById(“test”).addEventListener(“单击”,loadCanvas());//使用javascript
玩
})
如您在评论loadCanvas(“游戏”)中所述代码>页面加载后,您将立即调用该函数。因此,您必须将其更改为:
<button class="btn play-button" type="button">Play!</button>
<script type="text/javascript">
$('.play-button').click(function(e){
loadCanvas("game");}
);
</script>
玩吧!
$('.play按钮')。单击(函数(e){
loadCanvas(“游戏”);}
);
如果不使用jquery,则必须通过javascript处理单击事件。如果由于其他方法触发函数而出现问题,则可以添加一个带有布尔值的标志,并在单击时将其打开
诸如此类:
按钮一点也没变
<button class="btn" type="button">Play!</button>
在单击函数中,在调用函数之前添加以下内容:
buttonClicked = true;
最后,您的js应该如下所示:
var buttonClicked = false;
function loadCanvas(canvas) {
if(buttonClicked){
relevant code here...
}
}
$(".btn").click(function(){
buttonClicked = true;
var canvas = ...;
loadCanvas(canvas );
});
编辑
如果你在类中有更多的按钮。btn你应该使用一个id并更改的选择器。用id的选择器而不是类选择器来单击()
,点击这个播放按钮调用loadCanvas?@AmitJS94是的,有点像这样,现在我让它在页面加载时直接加载。我想禁用,直到按钮被选中编辑的功能。在其他代码调用它之前,它不会做任何事情。所以,在希望它运行之前不要调用它。其他函数正在调用loadCanvas,这就是它执行的原因。您可以通过检查控制台中的堆栈来调试它,查看哪个函数正在调用loadCanvas。
buttonClicked = true;
var buttonClicked = false;
function loadCanvas(canvas) {
if(buttonClicked){
relevant code here...
}
}
$(".btn").click(function(){
buttonClicked = true;
var canvas = ...;
loadCanvas(canvas );
});