0

私の知る限り、SpinelliのNoClickDelay JSライブラリは、その機能を「元に戻す」方法を提供していません。

例えば:

var a = new NoClickDelay('body');
console.log(a)
//returns NoClickDelay

delete a;
console.log(a)
//still returns NoClickDelay

a = null;
//a is now empty, but NoClickDelay still exists

onTouchStartonTouchMoveおよびonTouchEndイベントのバインドを解除できることはわかっていますが、インスタンス化さnew NoClickDelay()れたものをメモリとDOMから削除するにはどうすればよいですか?

4

1 に答える 1

1

次のことを試してください。

var Obj = {};
Obj.a = new NoClickDelay('body');
console.log(a);
delete Obj.a;
console.log(a);

フィドル: http: //jsfiddle.net/benno_007/euATH/1/

変数は削除できません。

yを削除します。// falseを返します(削除は変数名に影響しません)

ソース:https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/delete

編集: イベントリスナーを削除するという点では、この関数を追加して実行してみてください

function undoNoClickDelay(el) {
    if( window.Touch ) {
            el.removeEventListener('touchstart', this, false);
            el.removeEventListener('touchmove', this, false);
            el.removeEventListener('touchend', this, false);
            delete Obj.a;
    }
}
于 2013-02-05T04:09:45.540 に答える