3

datatablesプラグインを使用してテーブルを表示しています。設定した構成パラメーターでbJQueryUI : true、テーブルが現在使用しているjQueryUIスタイルのスタイルを適用するように設定しました。最後の列に、行に対してアクションを実行するためのアイコンをいくつか追加しました。重要なのは、データテーブルのアイコンとヘッダーにカーソルを合わせると、Firefoxでのみ機能し、ChromeまたはIEではイベントがトリガーされないということです。

私が使用しているコードは次のとおりです。

$('.ui-state-default').live({ 
    mouseenter:
         function(){ $(this).addClass('ui-state-hover'); },
    mouseleave:
         function(){ $(this).removeClass('ui-state-hover'); }
});
4

1 に答える 1

2

ホバーしたい領域の要素のレイヤーを開発ツールでチェックインしましたか?アイテムのz-indexをチェックして、.ui-state-default要素が一番上にあることを確認する必要があります。

また、に変更する必要があり.live()ます.delegate()。それらは似ていますが、ルート要素を設定できます.delegate().live()ルート要素は常にdocument要素です。

$(<root element>).delegate('.ui-state-default', 'mouseenter', function () {...}).delegate('.ui-state-default', 'mouseleave', function () {...});

.live()jQuery1.7の時点で減価償却されています。jQuery 1.7の時点で呼び出される新しい関数があり、使用される構文に応じて、両方と.on()同じことを実行します:http: //api.jquery.com/on.bind().delegate()

于 2011-12-14T18:02:12.180 に答える