よくあるsubmitフォームの場合、
エンターキーを押すと自動的にsubmitされるようになっています。
これをformタグがないただの入力フォーム上で、
エンターキーが押されたら処理を行うようにします。
| 1 2 3 4 5 | $(入力フォーム).keypress(function(e) {   if(e.which == 13) {     /* 処理内容 */   } }); | 

在宅プログラマーの備忘録として2005年に始めたブログです。
よくあるsubmitフォームの場合、
エンターキーを押すと自動的にsubmitされるようになっています。
これをformタグがないただの入力フォーム上で、
エンターキーが押されたら処理を行うようにします。
| 1 2 3 4 5 | $(入力フォーム).keypress(function(e) {   if(e.which == 13) {     /* 処理内容 */   } }); | 
| 1 | var array2 = array1; | 
のように配列や連想配列をそのまま代入すると「参照渡し」という形になり、
コピー先だけ変更したつもりがコピー元も一緒に変更されてしまいます。
コピーするには配列の中身を代入していく必要があるのですが、
jQueryの場合はextend関数で簡単にコピーできます。
配列:
| 1 | var array2 = $.extend(true, [], array1); | 
連想配列:
| 1 | var array2 = $.extend(true, {}, array1); | 
jQueryでフォームの値を変更した際に、単に
| 1 2 | $(フォーム).val(値); $(フォーム).prop('checked', true); | 
としただけでは、onchangeイベントは実行されませんが、
| 1 2 | $(フォーム).val(値).change(); $(フォーム).prop('checked', true).change(); | 
のようにchange()を呼ぶことでonchangeイベントを発火させることができます。
jQueryの$.ajax関数で
| 1 | async: true | 
にして非同期通信を行うときに、通信を中断することができます。
やりかたは、$.ajax関数の戻り値を変数に格納し、
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var ajax_obj = $.ajax({   url: '(URL)'  ,type: 'POST'  ,data: '(データ)'  ,async: true  ,success: function(result) {     // 成功時の処理   }  ,error: function(xml, error, thrown) {     if(thrown == 'abort') {       alert('処理を中断しました');     }   } }); | 
中断したい場合はその変数のabortメソッドを呼びます。
| 1 | ajax_obj.abort(); | 
abortメソッドを呼ぶと、上記の例のように
thrownに「abort」が返されますので
エラーなのか中断なのかの切り分けが可能です。
通信中にモーダルでローディング表示を行っている場合などに
ローディングダイアログに「中断」リンクをつけてあげると親切ですよね。
最近多用している、ページトップへのアニメーションスクロール、
jQueryなら簡単に実装できます。
| 1 2 3 4 5 | var pagetop_scroll = function() {   var speed = 500; /* ミリ秒 */   var position = $('html').offset().top;   $('body,html').animate({scrollTop:position}, speed, 'swing'); }; |