Javascript 如何禁用事件侦听器?或者有一个停止按钮来实现它的功能?
请帮我设置一个按钮来停止、暂停或禁用加速计的功能?这是我的代码,谢谢 加速度计读数Javascript 如何禁用事件侦听器?或者有一个停止按钮来实现它的功能?,javascript,jquery,html,Javascript,Jquery,Html,请帮我设置一个按钮来停止、暂停或禁用加速计的功能?这是我的代码,谢谢 加速度计读数 函数init(){ var Accelerator=document.getElementById('Accelerator'); if(window.DeviceMotionEvent){ window.addEventListener('devicemotion',函数(事件){ var x=parseInt(事件加速,包括重力x); 变量y=parseInt(事件加速,包括重力); var z=pa
函数init(){
var Accelerator=document.getElementById('Accelerator');
if(window.DeviceMotionEvent){
window.addEventListener('devicemotion',函数(事件){
var x=parseInt(事件加速,包括重力x);
变量y=parseInt(事件加速,包括重力);
var z=parseInt(事件加速,包括重力);
var acce='加速度:
';
acce+='x:'+x+'
y:'+y+'
z:'+z+;
Accelerator.innerHTML=acce;
});
}
}
提供对.addEventListener()
的命名函数引用,然后在中使用函数名。removeEventListener()
方法1:不要对侦听器使用匿名函数:将其分配给变量,以便可以将其传递给
removeEventListener
方法2:不要删除侦听器;相反,使用一个标志来确定它是否处于活动状态。如果它在侦听器顶部未处于活动状态,请返回而不产生任何效果。先生,您能给我一个完整的代码吗?我真的很难修复它,因为我是javascript新手。谢谢,先生,你能给我一个完整的密码吗?我真的很难修复它,因为我是javascript新手。谢谢,@Ronnel.D“如何禁用事件监听器?或者为其功能设置一个停止按钮?”
删除设备运动事件函数removeDeviceMotionEvent(){window.removeEventListener(“devicemotion”,handleAccelerationEvent)};document.getElementById(“stop”).addEventListener(“单击”,removeDeviceMotionEvent)
我已经输入了您的代码,先生,我为removeEventlistener添加了一个函数和一个按钮。而且它不起作用。加速度计读数不工作。。请帮助我停止函数(){window.removeEventListener(“devicemotion”,handleAccelerationEvent)}没有设备运动数据停止我尝试了你的代码,先生,但我的手机上的加速度计读数不工作。“它不工作”是每次移动手机时加速度计的读数。
<script>
function init() {
var accelerometer = document.getElementById('accelerometer');
if(window.DeviceMotionEvent) {
window.addEventListener('devicemotion', function(event) {
var x = parseInt(event.accelerationIncludingGravity.x);
var y = parseInt(event.accelerationIncludingGravity.y);
var z = parseInt(event.accelerationIncludingGravity.z);
var acce = 'Acceleration:<br />';
acce += 'x: ' + x +'<br />y: ' + y + '<br />z: ' + z + ;
accelerometer.innerHTML = acce;
});
}
}
</script>
function handleAccelerationEvent(event) {
var x = parseInt(event.accelerationIncludingGravity.x);
var y = parseInt(event.accelerationIncludingGravity.y);
var z = parseInt(event.accelerationIncludingGravity.z);
var acce = 'Acceleration:<br />';
acce += 'x: ' + x +'<br />y: ' + y + '<br />z: ' + z + ;
accelerometer.innerHTML = acce;
}
function init() {
var accelerometer = document.getElementById('accelerometer');
if(window.DeviceMotionEvent) {
window.addEventListener('devicemotion', handleAccelerationEvent);
}
}
// remove `devicemotion` event referencing `handleAccelerationEvent` function
window.removeEventListener("devicemotion", handleAccelerationEvent)