jqueryでctrl+キーを押した時のフォームを制御

2014年11月22日更新 view: 184 view
http://ozpa-h4.com/wp-content/uploads/121107_top.jpg

jqueryでキーを押した時にテキストエリアやフォームを制御

jqueryでフォームやテキストエリアを制御したいときがある。
例えばリターンを押したらフォームを送信させたり、させなかったり。
ctlr と リターンキー同時押しでフォームを送信させたり。

指定したテキストフィールド以外でのリターンはフォームを送信させない

スポンサードリンク
  $("input[type=text]").keypress (e) ->
    if (e.which and e.which is 13) or (e.keyCode and e.keyCode is 13)
      if $(@).attr("id") == "search-keyword"
        $("#search-keyword-btn").click()
      false
    else
      true

これでテキストフィールドの id が search-keyword だったら、#search-keyword-btnをクリックさせる。
それ以外は何もしない。

テキストエリアで ctrl + リターンでフォームを送信させる。

なぜかリターンのキーコードが 13 から 10 に変わるので注意。

  $("textarea").keypress (e) ->
    if e.ctrlKey is true and e.which is 10
      if $(@).attr("id") == "pen-text"
        $("#penModal .save").click()
    else
      true

こんな感じですね。
id pen-text の text areaで ctrl キーを押しながら リターンしたら .save をクリック。
それ以外はそのままの動きって感じ。

スポンサードリンク

関連記事

関連カテゴリ

コロ助

web関連の記事や制作系の記事をどんどんまとめていきます。 宜しくお願いします!

ピックアップ

パソコン・ソフトウェア ランキング

7月19日 ( 金 ) にアクセスが多かった記事はこちら!