easyui datagridにmouseoverとmouseoutイベントを追加
2984 ワード
jQueryに詳しい方は、datagridコンポーネントに詳しいに違いありません.専門のgridコンポーネントではありませんが、使い勝手はかなり便利で、機能もしっかりしています.1.2.4バージョンから、datagridはonRowContextMenuイベント、即行右ボタンイベントを追加しました.右ボタンメニューを処理するのに多く使われています.もう一つは表頭右ボタンイベントonHeaderContextMenuです.
しかし、プロジェクトを行うときにユーザーに右クリックしてからメニューをポップアップさせるのは、インタラクション的には友好的ではありません.マウスが通るとメニューをポップアップできるといいです.wordpressのバックグラウンドコメント管理ページのように、マウスがコメントリストを通ると「削除」、「審査」などの操作ボタンが表示されます.jQuery easyui datagridにmouseoverとmouseoutイベントを追加する方法は、実は簡単です.
まずjqueryを開きます.easyui.min.jsファイルは、自身がバインドされているonRowContextMenuイベントを検索し、ひょうたんに基づいてひょうたんを描くだけで簡単です.イベントを追加するだけで、複雑なコードにはほとんど関係なく、6019行程度で以下のコードを検索します.
同じように、デフォルト値は7405行程度です.
次に、次のようにバインドします.
次に、既定値を設定します.
ここまでやっても、簡単でしょう.javascriptの原型継承メカニズムはまだ深く研究されていないので、毛皮の変更しかできません.
実際に適用する場合、この2つのイベントだけでは十分ではありません.メニューの遅延表示は、rowをすばやく通過した場合に遅延を中断し、直接表示しないようにします.settimeoutとcleartimeoutに合わせて使用し、easyui demoのdatagrid 3を変更します.htmlファイルを使用してプレゼンテーションを行います.
ここをクリックしてプレゼンテーションの効果を確認します
しかし、プロジェクトを行うときにユーザーに右クリックしてからメニューをポップアップさせるのは、インタラクション的には友好的ではありません.マウスが通るとメニューをポップアップできるといいです.wordpressのバックグラウンドコメント管理ページのように、マウスがコメントリストを通ると「削除」、「審査」などの操作ボタンが表示されます.jQuery easyui datagridにmouseoverとmouseoutイベントを追加する方法は、実は簡単です.
まずjqueryを開きます.easyui.min.jsファイルは、自身がバインドされているonRowContextMenuイベントを検索し、ひょうたんに基づいてひょうたんを描くだけで簡単です.イベントを追加するだけで、複雑なコードにはほとんど関係なく、6019行程度で以下のコードを検索します.
1
bind(
"contextmenu.datagrid"
,
function
(e){
2
var
_400=$(
this
).attr(
"datagrid-row-index"
);
3
if
(opts.onRowContextMenu){
4
opts.onRowContextMenu.call(_3fa,e,_400,data.rows[_400]);
5
}
6
});
同じように、デフォルト値は7405行程度です.
1
onRowContextMenu:
function
(e,_576,_577){
2
}
次に、次のようにバインドします.
01
.bind(
"mouseover.datagrid"
,
function
(e){
02
var
_400=$(
this
).attr(
"datagrid-row-index"
);
03
if
(opts.onRowMouseoverMenu){
04
opts.onRowMouseoverMenu.call(_3fa,e,_400,data.rows[_400]);
05
}
06
}).bind(
'mouseout.datagrid'
,
function
(e) {
07
var
_400 = $(
this
).attr(
'datagrid-row-index'
);
08
if
(opts.onRowMouseoutMenu) {
09
opts.onRowMouseoutMenu.call(_3fa, e, _400, data.rows[_400]);
10
}
11
});
次に、既定値を設定します.
1
onRowMouseoverMenu:
function
(e,_576,_577){
2
},onRowMouseoutMenu:
function
(e,_576,_577){
3
}
ここまでやっても、簡単でしょう.javascriptの原型継承メカニズムはまだ深く研究されていないので、毛皮の変更しかできません.
実際に適用する場合、この2つのイベントだけでは十分ではありません.メニューの遅延表示は、rowをすばやく通過した場合に遅延を中断し、直接表示しないようにします.settimeoutとcleartimeoutに合わせて使用し、easyui demoのdatagrid 3を変更します.htmlファイルを使用してプレゼンテーションを行います.
ここをクリックしてプレゼンテーションの効果を確認します