trigger():要素にイベント(ブラウザのデフォルトの動作もする)を指定して実行
2016/07/04
trigger():要素にイベント(ブラウザのデフォルトの動作もする)を指定して実行
要素にイベント(ブラウザのデフォルトの動作もする)を指定して実行の書式
要素.trigger(イベントのタイプ);
要素にイベント(ブラウザのデフォルトの動作もする)を指定して実行する場合は、要素.trigger(イベントのタイプ);
要素にイベント(ブラウザのデフォルトの動作もする)を指定して実行するjQueryのサンプルコード
1.cssにてinputにfocusがきた場合に背景色が変化するようにする
2.button(#btnTrigger)にクリックされたらinput(#testText)にtriggerメソッドでfocusイベントを発生させる
3.input(#testText)のfocusイベントの処理はval値の変更とする
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> <!-- input { margin: 10px; padding: 10px; } input:focus { background-color: #ccffcc; } button{ margin: 10px; padding: 10px; } --> </style> <script src="../../js/jquery-1.12.2.min.js"></script> <script> $(function(){ $("#btnTrigger").on("click", function(){ $("#textTest").trigger("focus"); }); $("#textTest").on("focus", function(){ $("#textTest").val("clicked button"); }); }); </script> </head> <body> <input type = "text" name = "textTest" id = "textTest"><br> <button id = "btnTrigger">trigger</button> </body> </html>
要素にイベント(ブラウザのデフォルトの動作もする)を指定して実行するjQueryのサンプルの結果
↓
ボタンをクリックしたらinput(#testText)のfocusイベントの処理が発生してval値が変わる
focusイベントの割当てはtriggerメソッドでしたのでブラウザのデフォルトの動作、つまりこの場合はfocusそのものもするので背景色も変わる。