[英]How to stop or end a function in jquery when we are set interval
在JQuery中,当使用setInterval时,如以下代码所示,如何停止现有功能?
我正在使用麦克风来访问按钮单击中的语音以停止现有功能
function startConverting() {
//alert("in function");
var clinicalNotesArea = $("#clinicalNotesArea").val();
if ('webkitSpeechRecognition' in window) {
var speechRecognizer = new webkitSpeechRecognition();
speechRecognizer.continuous = true;
speechRecognizer.interimResults = true;
speechRecognizer.lang = 'en-IN';
speechRecognizer.start();
var finalTranscripts = '';
speechRecognizer.onresult = function(event) {
var interimTranscripts = '';
for (var i = event.resultIndex; i < event.results.length; i++) {
var transcript = event.results[i][0].transcript;
transcript.replace("\n", "<br>");
if (event.results[i].isFinal) {
finalTranscripts += transcript;
} else {
interimTranscripts += transcript;
}
}
$("#clinicalNotesArea").val(clinicalNotesArea + " " + finalTranscripts + interimTranscripts);
};
speechRecognizer.onerror = function(event) {};
} else {
$("#clinicalNotesArea").val(clinicalNotesArea + 'Your browser is not supported. If google chrome, please upgrade!');
}
setTimeout(function() {
$('#clinicalNotesMicrophoneStart').trigger('click');
}, 600);
};
$("#clinicalNotesMicrophoneStart").click(function() {
//alert("in click");
$("#clinicalNotesMicrophoneEnd").attr('hidden', false);
$("#clinicalNotesMicrophoneStart").attr('hidden', true);
var r = document.getElementById('result');
startConverting();
});
$("#clinicalNotesMicrophoneEnd").click(function() {
//alert("in click");
$("#clinicalNotesMicrophoneEnd").attr('hidden', true);
$("#clinicalNotesMicrophoneStart").attr('hidden', false);
//var r = document.getElementById('result');
stop.startConverting();
});
您需要存储对超时功能的引用并清除它:
var id = setTimeout(function() {
$('#clinicalNotesMicrophoneStart').trigger('click');
}, 600);
clearTimeout(id);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.