ホームページ  >  記事  >  ウェブフロントエンド  >  JS でのダブルクリック イベントとクリック イベント間の競合に対処する方法

JS でのダブルクリック イベントとクリック イベント間の競合に対処する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-25 14:55:231680ブラウズ

今回は、JSでのダブルクリックとクリックイベントの競合に対処する方法と、JSでのダブルクリックとクリックイベントの競合に対処するための注意点を紹介します。 以下は実践的なものです。ケース、見てみましょう。

JS コードの同じ関数ブロックでは、通常、クリック イベントとダブルクリック イベントが同時に使用されますが、通常は問題が発生します。つまり、ダブルクリックするとダブルクリック イベントが実行され、ダブルクリック イベントが 2 つ実行されます。クリックイベントも実行されます。このような競合は、ZTree と DHTMLX でよく発生します。

2 つのイベント間の競合を解決するには、クリック イベントを遅延させる必要があります。この遅延中にクリック イベントが検出された場合、2 つのクリックはダブルクリック イベントとみなされます。そして、2 回目のクリックが有効にならないように、できるだけ早く遅延 タイマー をクリアしてください。

具体的なコードは次のとおりです:

var clickFlag = null;//是否点击标识(定时器编号)
function doOnClick(...) {
  if(clickFlag) {//取消上次延时未执行的方法
    clickFlag = clearTimeout(clickFlag);
  }
  
  clickFlag = setTimeout(function() {
    // click 事件的处理
  }, 300);//延时300毫秒执行
}
function doOnDblClick(...) {
  if(clickFlag) {//取消上次延时未执行的方法
    clickFlag = clearTimeout(clickFlag);
  }
  
  // dblclick 事件的处理
}

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

vueでカスタムコンポーネントを記述する方法

Webpackでホットリフレッシュとホットロードを正しく使用する方法

以上がJS でのダブルクリック イベントとクリック イベント間の競合に対処する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。