0

Javascript イベントをカスタム MVC コントロールにバインドする最良の方法は何ですか? 私が最初に考えたのは、Html ヘルパーを使用してコントロールを作成し、コントロールの種類を示す CSS クラスをコントロールに与えることです。次に、document.readyjQuery を使用して、クラス名でそのようなコントロールをすべて選択し、イベントをバインドします。

ただ、DOM全体からクラス名で選択する速度が気になります。特にこのプロジェクトでターゲットにする必要がある IE8 では、これがどれほど遅くなるかを読みました (そして経験しました)。

ページごとに js ファイルを作成して ID で選択することもできますが、ページ数が多く複雑な Web アプリであるため、これは避けたいと思います。ビューにそのタイプのコントロールが少なくとも1つ含まれている場合、ビューに含まれるコントロールのタイプごとに1つのjsファイルが必要です。

CSS クラスは私の最良の選択肢ですか? 他のアイデアはありますか?MVC3を使用しています。

4

1 に答える 1

2

私のアドバイスは、クラスで試してパフォーマンスをテストすることです。満足できない場合は、ID に切り替えてください。私は常にクラスセレクターを使用していますが、どのブラウザーでも非常に遅いとは思いません。jquery に検索するコンテキストを与えると、非常に高速になります。例えば:

$('#controls .control').whatever();

または

$('.control', '#controls').whatever();

Sizzle は、これらを最適化して高速化するのに優れています。

編集:一般的な jQuery パフォーマンスのヒントについては、こちらを参照してください (通知 #5): http://net.tutsplus.com/tutorials/javascript-ajax/10-ways-to-instantly-increase-your-jquery-performance /

于 2012-05-21T20:49:51.797 に答える