jQueryイベントトリガとjs手動トリガイベント
1010 ワード
以前、プロジェクトで手動でイベントをトリガーする必要があるという問題に遭遇しました.例えば、マウスのダブルクリック操作、キーボードでEnterキーを押す必要がある場合もマウスのダブルクリックによる効果があります.jQueryではtriggerが一致する要素ごとに$(「input」)などのイベントをトリガーできることを知っています.trigger(「dblick」)は、inputを選択したマウスのダブルクリックイベントを直接励起することができます.また、私たちのプロジェクトではJqGridも参照されています.JqGridにはダブルクリックイベントondblClickRowがあります.プロジェクトのコードは次のとおりです.
ondblClickRow関数にも多くのパラメータが入力される必要があります.これはマウスのダブルクリックの実装です.キーボード上でEnterキーを押すと、選択した要素をtriggerでダブルクリックイベント(dblick)をトリガするだけで、JqGridのondblClickRow関数と同じ効果が得られます.
jsでは、jQueryが対応するdblickをカプセル化しているなどのイベントはなく、jsイベントを手動で作成する必要がある場合があります.コードは次のとおりです.
ondblClickRow: function(rowid, iRow, iCol, e){
//
......
}
マウスをダブルクリックすると、選択した現在の行が操作され、ondblClickRow関数にも多くのパラメータが入力される必要があります.これはマウスのダブルクリックの実装です.キーボード上でEnterキーを押すと、選択した要素をtriggerでダブルクリックイベント(dblick)をトリガするだけで、JqGridのondblClickRow関数と同じ効果が得られます.
jsでは、jQueryが対応するdblickをカプセル化しているなどのイベントはなく、jsイベントを手動で作成する必要がある場合があります.コードは次のとおりです.
// event
var htmlEvent=document.createEvent('HTMLEvents');
// ,3 : , ,
htmlEvent.initEvent("input", true, true);
//js html event
settings.this$[0].dispatchEvent(htmlEvent);
ここでは、要素が必要に応じて手動でイベントをトリガーできるinputイベントを手動で作成します.