2012-12-14 19 views
10

特定のクラスのテキスト入力で誰かが「入力」を押したときを検出する必要があります。次のように特定のクラスの入力要素に入力を検出する

は私のjQueryのです:

<tr><td> Personal Name </td></tr> 
<tr><td> <input type='text' class='large'> </td></tr> 

<tr><td> Email</td></tr> 
<tr><td> <input type='text' class='large'> </td></tr> 

私はフィールドIDが与えられ、それが働いた$('#elementid').keypressを試してみた:

$('input.large').keypress(function (e) { 
    if(e.which ==13) 
     console.log("pressed enter"); 
}); 

私のHTMLは次のようなものです。しかし、これは動作していません。私はコンソール出力を得ません。私は何が欠けていますか?

+0

あなたのコードをドキュメントレディハンドラの中に入れましたか? – undefined

+0

私は持っています。これの直前と直後の他のコードは正常に動作しています。 – user961627

+0

http://jsfiddle.netでデモを提供できますか? – undefined

答えて

10

です​​(私はこれが良いと思います) 。セレクタと一致する現在および将来の要素に​​を検出することができます。

HTML

<strong>Personal Name</strong> 
<input type='text' class='large' /><br /> 

<strong>Email</strong> 
<input type='text' class='large' /> 
​ 

JS(jQueryを使って実行可能な1.7以上):

jQuery(document).on('keydown', 'input.large', function(ev) { 
    if(ev.which === 13) { 
     // Will change backgroundColor to blue as example 
     this.style.backgroundColor = '#EFF'; 

     // Avoid form submit 
     return false; 
    } 
}); 

jsFiddle:あなたの説明のためのhttp://jsfiddle.net/qvhWD/

+0

どこにこれを置くべきですか?私は '$(document).ready(function(){...});'の中でそれを試してみましたが、その外側にも構文エラーがありました。 – user961627

+0

この構文エラーはどこですか?**試してみる**:ファイルの最後にこの内容の排他的な '

2

チェックこの1:このHTML使用http://jsfiddle.net/EJyyr/

<tr><td> Personal Name </td></tr> 
<tr><td> <input type='text' class='large' id='a'> </td></tr> 

<tr><td> Email</td></tr> 
<tr><td> <input type='text' class='large' id='b'> </td></tr> 

と、これはあなたがdocumentでのライブ(.on())イベントとを使用することができますjQueryのwhich logs the input text id

$('.large').keypress(function (e) { 
    if(e.which ==13) 
    console.log($(this).attr('id')); 
}); 
0

おかげでデビッド・ロドリゲス。それは多くの助けとなりました。私はJQueryライブラリをアップグレードしなければならず、.live()関数は正常に動作するように停止しました。

あなたは、フォームのすべてのチェックボックスの入力を選択し、以下の

にそれを使用することができたときにselect_all_checkboxes入力タイプのチェックボックスをクリックします:

jQuery(document).on("click", "#select_all_checkboxes", function(){ 
    var chk = this.checked; 
    $('input[id=selectAll]').each(function(){ 
     this.checked = chk; 
    }); 
}); 

通話機能「checkMail」ユーザーがフィールドを離れましたクラス名が "email"の任意のフィールドのタブをクリックしてください:

jQuery(document).on("blur", 'input.email', function(event){ 
    var email = $(this).val(); 
    if (!checkMail(email)) { 
     alert("Invalid email."); 
     $(this).focus(); 
    } 
}); 
+0

あなたの答えは高く評価されますが、別のユーザーの回答に対するコメントはそれだけでなければなりません。 – J0e3gan

関連する問題