我有Start()准备就绪的功能.当我点击时.ExampleClick,我想停止Start()运行功能.这是我的例子......
$(document).ready(function(){
$(function Start(){
// Do Stuff on Ready
});
$(document).on("click",".ExampleClick",function() {
// When this is fired, function Start() should stop running
});
});
Run Code Online (Sandbox Code Playgroud)
实现我想做的最好的方法是什么?
如果Start永远循环,您的浏览器将挂起.JavaScript函数无法真正并行运行.假设Start确实存在一些永远循环的后台进程,你需要重新思考它以便它执行一次然后调度自己再次执行某些点,允许处理其他事件.
每次Start执行时,它都可以检查由点击处理程序维护的某个状态,以决定它是否应该运行并再次入队:
$(document).ready(function(){
var clicked = false;
var Start = function () {
if (clicked) return;
// Do Stuff on Ready
setTimeout(Start, 100);
};
Start();
$(document).on("click",".ExampleClick",function() {
// When this is fired, function Start() should stop running
clicked = true;
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4907 次 |
| 最近记录: |