0

これが私が基本的にやろうとしていることのコードです:

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で、参照しようとするとJavaScriptがエラーをスローすることですspan(とにかく動作することを期待していませんでした)。その関数で作成したDOM要素に間隔のコンテキストを設定するにはどうすればよいですか?

4

2 に答える 2

6

setIntervalタイマーのIDである整数を返します。だから、あなたがしなければならないのはそれを保存することだけです:

var interval = setInterval(function(){
// ...
    clearInterval(interval);
于 2012-05-21T18:39:50.207 に答える
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);
}
于 2012-05-21T18:38:56.690 に答える