JavaScriptプログラムに関する各種メモ書き

jQueryで画像やリンクのクリック状態(マウスイベント)やキーボード入力状態を強制的に作り出す

https://api.jquery.com/trigger/

.trigger() メソッドを使って強制的にイベントを作ることができます。

// id=hoge の要素をクリック状態(onclick)を作り出す
jQuery('#hoge').trigger("click");

// id=fuga の要素にマウスオーバーさせる(onmouseover)
jQuery('#fuga').trigger("mouseover");

注意

<input type="text" name="hoge" id="hoge_id">
のフォームがあるとき
$("input[name='hoge']").trigger("focus"); // 動作しません ☓ NG
$("#hoge_id").trigger("focus"); // 動作します ○ OK

となりますので注意。

指定できるのは次のイベントです

 blur, focus, load, resize, scroll, unload, beforeunload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup

*キーボードの入力状態を強制的に作り出す

var evt = $.Event('keydown');
evt.keyCode = 39;    // キーボードの右矢印(→)入力
$('#hoge').trigger(evt);

jQueryのkeycodeはこちらで調べられます

http://goo.gl/HO6ong

keycode一覧表

http://goo.gl/5UwW2

関連エントリー

No.853
05/11 13:39

edit

jQuery