1

mousemove イベントを各 svg 要素 (path、circle など) にバインドして、各要素 (ツールチップ、obj 情報など) の個別の情報を取得します。それはパフォーマンスに影響しますか?

JS:

var elements = $(this.GroupEle).children();
for (var j = 0; j < elements.length; j++) { //length may be 5000
    $(elements[j]).index = i;
    $(elements[j]).collection = objCollection;
    // performance issue ??????????????
    $(elements[j]).bind('mousemove', this.pointonChartMove);
}

要素ごとに異なるデータをハンドラーに渡す必要があります。

for (var j = 0; j < elements.length; j++) { //length may be 5000
    //need to pass index and collection data to handler 
    $(elements[j]).index = i;
    $(elements[j]).collection = objCollection;
    $(elements[j]).bind('mousemove', this.pointonChartMove);
}

Plsはこれを達成するために他に提案しますか????

4

1 に答える 1

0

子要素の数によっては、かなりのパフォーマンス ヒットが見られる場合があります。親要素で単一の委任されたイベント ハンドラーを使用して、状況を改善できます。

$(this.GroupEle).on('mousemove', '.child-selector', this.pointonChartMove);

明らか.child-selectorに、コードに関連するものに変更する必要があります。

于 2013-11-06T12:10:55.223 に答える