如何停止计时器.在原生脚本中使用点击事件或离开页面设置interval
How to stop timer.setinterval with a tap event or leaving page in nativescript
我有一个计数器,当加载页面时开始加载,当time == 0触发对话框并导航到另一个页面时停止加载。但我也想在用户点击按钮或放弃并离开页面时停止它。
下面是我的代码,用于启动计时器并在时间=== 0时结束计时器
var timeKeep = vm.time;
var count = 0;
countId = timer.setInterval(() => {
timeCountDown();
count += 1;
if (count === timeKeep) {
timer.clearInterval(countId);
dialogs.alert({
message: "Time Up!",
okButtonText: "OK"
});
aemnavigation.goResults(vm.correct);
}
}, 1000); */
var timeKeep = vm.time;
var count = 0;
var countId = timer.setInterval(() => {
timeCountDown();
count += 1;
if (count === timeKeep) {
timer.clearInterval(countId);
dialogs.alert({
message: "Time Up!",
okButtonText: "OK"
});
aemnavigation.goResults(vm.correct);
}
}, 1000);
exports.onButtonTap = function() {
timer.clearInterval(countId);
/** Do whatever else you need to **/
}
exports.onNavigatingFrom = function() {
timer.clearInterval(countId);
}
在JS文件的声明式UI XML中:
<Page navigatingFrom="onNavigatingFrom">
<Button tap="onButtonTap" text="Click Me"/>
</Page>
我也建议在你的timer.clearInterval(countId)函数验证countId是否仍然有效;并在清除间隔后使其无效;这样你就不会有任何奇怪的情况
相关文章:
- 在放置目标时,输入并离开自定义事件
- 在离开页面之前删除事件侦听器
- 如何在ASP.NET C#中触发TextChange事件而不离开焦点
- 如何在D3中添加一个强制拖动事件,并使节点停留在我离开它的地方
- 未检测到鼠标离开时的事件
- 如何使用JS触发用户离开站点事件
- FF 鼠标离开/鼠标输入事件
- JavaScript 事件仅在离开站点时发生
- 用户离开页面时的事件
- 如何处理 Windows 8.1 触摸屏中的鼠标悬停和鼠标离开事件
- jQuery 使 mouseenter 和 mouse 离开事件唯一
- 当我们离开文本框时捕获事件
- 是否有任何方法可以检测用户是否按下“按钮”;停留在页面上”;或“;离开页面"在beforeunload事件中
- 当焦点离开一组控件时,jQuery引发事件
- catch'离开此页'镀铬事件
- 在PaperJS中,当鼠标离开项目时,如何将onMouseUp事件链接到onMouseDown事件的起源
- 为什么在SVG中进入/离开子元素时会触发mouseenter/mouseleave事件?
- 是否可以监听房间的加入和离开事件?
- 如何停止计时器.在原生脚本中使用点击事件或离开页面设置interval
- 离开IE选项卡的事件是什么?