ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript学習メモ(6) onDbClick時にonClickイベントがトリガーされないようにトリガーを遅延する

JavaScript学習メモ(6) onDbClick時にonClickイベントがトリガーされないようにトリガーを遅延する

黄舟
黄舟オリジナル
2016-12-19 17:36:241693ブラウズ

デフォルトでは、ダブルクリックイベントが発生するとクリックイベントがトリガーされますが、これが望ましくない場合があります。では、ダブルクリック時のクリックイベントのトリガーをブロックするにはどうすればよいでしょうか?インターネット上で流通している実行を遅らせる方法は次のとおりです。
1. clickTimer のようなグローバル タイマー変数を宣言します。
2. エージェントのクリック イベント処理がトリガーされます。デフォルトでは 220 ミリ秒後。 関数
3. ダブルクリック イベント内のタイマー変数を判定します。変数が NULL でない場合は、ダブルクリック イベントがトリガーされる前にクリック イベントがトリガーされたことを意味します。実際のクリック イベント処理関数は 220 ミリ秒後にトリガーされるため、この時点でタイマーが終了した場合、実際のクリック イベント処理関数は実行されません。

添付コード:
1var timerClick=null;
2//クリックイベントプロキシ
3function _onNodeClick(id){
4 //onNodeClickは実際のクリックイベント処理関数です
5 timerClick=window.setTimeout(" onNodeClick('" +id+"')",220);
6 }
7//ダブルクリックイベント処理関数
8function _onNodeDbClick(id){
9 if(timerClick){
10 window.clearTimeout(timerClick);
12}

上記は、onDbClick が onClick イベントをトリガーしないようにトリガーを遅らせる内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) を参照してください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。