グリッド内の行にホバー状態を提供するための最も優れたスクリプトを探しています。グリッドは、いくつかの細胞は、内部テーブルを持って、標準テーブルであるJQuery - グリッド行のハイライトベストプラクティス
ホバー:ユーザーの
90%がIE6のクライアントがので、私はCSSに依存しているカントがあります。
私はもともとmouseoverとmouseoutで.liveメソッドを使用していましたが、イベントがドキュメントのマウスオーバーに委任されたときに、グリッドのないページの部分にマウスを移動すると、これは大量のCPUの影響があります。
私は個々のtrにバインドしたくありません。
現在、私はtbodyでイベントデリゲーションを使用していて、.parentsメソッドを使用してターゲットノードツリーの最後のテーブル行を取得しています。私はこの理由で最も近い( 'tr')を使用することはできません。
ラフ現在の実装:
//event hookup
$('table.grid>tbody')
.mouseover(rowenter)
.mouseout(rowleave);
function rowenter(ev){
ev.stopPropagation();
var $parentTr = $(ev.target).parents('tr:last');
if (! $parentTr.is('.hover')){
$parentTr.addClass('hover');
}
}
歓迎任意のより良い実装。
あなたはCSSでこれを行うことができますIE6から離れてすべての最新ブラウザで
なぜ彼らはまだIE6を使用していますか?どのような時間の無駄。 IE6との互換性を保つためにページを書く人が少なくなるほど良いでしょう。これらの人々を将来に向けて蹴散らす。 – Sneakyness
政府のユーザーは、アップグレードを容易にするために何百万もの費用がかかります – redsquare
実際には、私はこれを投票していませんでしたが、私はあなたの質問と回答のすべてを投票して下さってありがとうございます:) – doomspork