Javascript 与onmousemove一起使用时如何停止Math.random活动?

Javascript 与onmousemove一起使用时如何停止Math.random活动?,javascript,html,Javascript,Html,单击按钮时,我想使Math.random()活动停止,不再继续。我怎样才能用这个代码做到这一点 var result=document.getElementById('result'); var x=document.getElementById('text'); var btn=document.querySelector(“#btn”); window.onmousemove=函数(){ result.innerHTML=Math.random(); } btn.onclick=函数(){

单击按钮时,我想使
Math.random()
活动停止,不再继续。我怎样才能用这个代码做到这一点

var result=document.getElementById('result');
var x=document.getElementById('text');
var btn=document.querySelector(“#btn”);
window.onmousemove=函数(){
result.innerHTML=Math.random();
}
btn.onclick=函数(){
result.innerHTML=“停止”;
}

JS EGITIMI
点击

单击按钮时窗口上的简单重置事件:

btn.onclick = function() {
  result.innerHTML = "stop";
  window.onmousemove = null;
}
请参阅代码片段

var result=document.getElementById('result');
var x=document.getElementById('text');
var btn=document.querySelector(“#btn”);
window.onmousemove=函数(){
result.innerHTML=Math.random();
}
btn.onclick=函数(){
result.innerHTML=“停止”;
window.onmousemove=null;
}

JS EGITIMI
点击

您只需添加一个布尔值,检查是否可以更改该值

这样,您可以通过在
true
false
之间切换布尔值来打开和关闭它

var result=document.getElementById('result');
var x=document.getElementById('text');
var btn=document.querySelector(“#btn”);
var canChange=true;
window.onmousemove=函数(){
如果(可以更改){
result.innerHTML=Math.random();
}
}
btn.onclick=函数(){
canChange=假;
result.innerHTML=“停止”;
}

JS EGITIMI
点击

给你

var result=document.getElementById('result');
var x=document.getElementById('text');
var btn=document.querySelector(“#btn”);
window.onmousemove=函数(){
result.innerHTML=Math.random();
}
btn.onclick=函数(){
result.innerHTML=“停止”;
if(window.onmousemove!==null){
window.onmousemove=null;
}否则{
window.onmousemove=函数(){
result.innerHTML=Math.random();
}
}
}

JS EGITIMI
点击

删除事件:
window.onmousemove=null。创建一个布尔值,并在按下按钮时将其设置为false。在mousemove事件中,在分配InnerHtmlAlt之前检查该值是否设置为true尽管我必须承认我从未检查过浏览器在无操作处理程序中执行的操作,但最好将其设置为
null
,以确保它不会无效触发。(如果没有注册的处理程序,他们很可能完全避免调度事件路由,因为这里没有op可能会使他们无功而返)@Nsur你解决了你的问题吗?在这里,我向按钮添加了整个功能,即,我得到了答案,但不明白为什么你用canChange来定义true?我相信这是一个简单的问题,但这里有个新问题:@Nsur这只是我为布尔值选择的名称。类似于
的前缀是
可以
这类前缀定义它只能包含两种状态,即true(can)或false(cannot)。您可以选择任何您想要的名称,但这样的命名约定只会有助于代码的可读性。非常感谢。