以下是我基本上要尝试做的代码:
document.body.addEventListener("keypress", f1, false);
function f1(e){
var span = document.createElement("span");
window.setInterval(function(){
...
window.clearInterval(this);
document.body.removeChild(span);
}
简而言之,我正在尝试创建一个新的DOM元素,然后为它附加一个能够引用该特定对象的计时器。问题是,我不知道如何处理上下文,因此this
仅引用window
,当我尝试引用span
时,JavaScript会引发错误(我不是期待无论如何工作)。如何设置我在该函数中创建的DOM元素的区间上下文?
答案 0 :(得分:5)
setInterval
返回一个整数,它是计时器的id。所以,你所要做的就是存储它:
var interval = setInterval(function(){
// ...
clearInterval(interval);
答案 1 :(得分:3)
为您的间隔保留一个变量:
document.body.addEventListener("keypress", f1, false);
function f1(e){
var span = document.createElement("span");
var myInterval = setInterval(function(){
...
clearInterval(myInterval);
document.body.removeChild(span);
}