JavaScript Advent Calendar 2011 (フレームワークコース) の9日目です。 せっかくの機会だったので、ものすごく気になってたけど、触る機会がなかった、Underscore.jsをいろいろと弄ってみました。 配列関係の便利メソッドの集合ライブラリなイメージでしたが、タイマーやユーティリティ関数、条件判断関数など、いろいろ機能があって面白いですね。 とりあえず、ひと通り実行しながら、すべての関数を触ってみました。 非常に見難くて恐縮ですが、以下のGoogleスプレッドシートにいろいろとメモを取っていったので、参考にしてください。 間違いなどあるかもしれませんし、自分自身理解しきっていないため説明がおかしい箇所があるかもしれません。 その際はご指摘いただけると助かります。超めんどくさかったので、自主的なアップデートは、たぶん、しません... リンク先: Unders
jQueryの$(this)とthisの違い jQueryのイベントハンドラやコールバック関数内のthisについてです。 大した内容でもありませんが、なんとなく知らないまま使っている人もいるみたいなので、ちょっとメモ書き。 $(this)とthisの違い thisはDOMエレメントです。 イベントハンドラのthisはそのイベントが発生した要素、eachのコールバック関数内のthisは順番の回ってきた該当する要素です。 一方$(this)の方はと言うと、この要素を$関数に渡して、単にjQueryオブジェクト化しているだけなんですね。 使い分け という事で、使い分けは、 DOMエレメントのプロパティやメソッドを使うときはthis jQueryオブジェクトのメソッドを使いたいときは$(this) ということになります。 例えば a要素のhref属性を取ってきて何か処理を書こうと思ったとき、 何も
●任意の文字に一致 書式:/文字/ 例1:"abcdefg".match(/a/) 結果:a 例2:"abcdefg".match(/cde/) 結果:cde 例2:"abcdefg".match(/xyz/) 結果:null ●改行文字を除く任意の1文字にマッチ 書式:/.文字/ 例1:"abcdefg".match(/.f/) 結果:ef ●複数個の文字にマッチ 書式:/../ (.はマッチする個数並べる) 例1:"abcdefg".match(/.f/) 結果:ef ●指定文字のいずれかにマッチ 書式:/[任意文字]/ 例1:"abcdefg".match(/[ahg]/) 結果:a ●指定文字以外のいずれかにマッチ 書式:/[^任意文字]/ 例1:"abcdefg".match(/[^ahg]/) 結果:b ●複数の文字列のいずれかにマッチ 書式:/任意文字列|任意文字列|...|
<script type="text/javascript"> /* イベントの型を取得 */ function getEventType(event){ var frmObj=document.frmevent; frmObj.elements["txt"].value=event.type; } </script> <form action="#" name="frmevent"> <p><input type="text" onFocus="getEventType(event)" /></p> <p><input type="checkbox" onclick="getEventType(event)" /></p> <p><select onchange="getEventType(event)"> <option value="">▼選択してください</option> <opt
attr()でdisableをどうこうするばあいは、 true or falseで設定します。 (かなり古いバージョンのjQueryはこの記事通りですが) また前の人が指摘している通り、 1.6でprop()にかわり、1.6.1で後方互換が導入され、どちらでも使えるようになりました。
JavaScript では、以下のように記述すると参照が代入されるだけで、実体は同一アドレスをさす。 C 言語と似たようなものである。 [HTML / javascript]var src = ["A", "B", 1, 2]; var copied = src; src[0] = 0; copied[1] = 0; alert(src); // 0,0,1,2 alert(copied); // 0,0,1,2 以下に、参照ではなく、実体もコピーするサンプルスクリプトを示す。 Array.concat を使用する方法 Array.concat は配列に要素を追加した配列を返すものであるが、要素を追加しなければ 元々の配列のコピーが返されるので、それを利用する [HTML / javascript]var src = ["A", "B", 1, 2]; // 何も要素を追加しなければ、元の
ブログ用のテーマを修正する時に、RequireJSの使い方を調べたので、メモ。 いろいろ使い方があるけど、今回は、リソース取得の制御と、jQueryモジュールの読み込む場合がメイン。 require.jsは、バージョン2.1.4を使用。古いバージョンと、2系でライブラリ依存周りの指定が変わっているようなので、注意。 呼び出し側の設定 require.jsのパスに合わせて、定義。require.js自体をCDN参照にしたい場合は、読み込み失敗時のフォールバックを含めて、指定した方がいいと思う。 <script data-main="/assets/js/main.nocdn" src="/assets/js/require.min.js"></script> require.jsでの設定 main.cdnの実装は下記のような感じにする。 設定方針は、下記。 CDN経由で取得できる場合は、そち
解説 jQueryのイベントシステムは W3Cの規格に基づいて実装されています。 イベントオブジェクトは、イベントハンドラの引数として渡されます。 イベント発生時には、イベントの種別や環境によって、さまざまな名称や状態でイベントオブジェクトが渡されます。 jQuery はこの違いを吸収し、イベントオブジェクトに対する統一されたインターフェースを提供します。 また、ネイティブイベントのほとんどのプロパティはマージされますので、それを使用することもできます。 jQuery のイベントオブジェクトを生成し、使用する例は、jQuery.Event(src) を参照してください。 イベントオブジェクトが持つプロパティとメソッドは次の通りです。 プロパティ currentTarget : イベントのバブリングフェーズにおける現在のDOM要素 data : バインド時に渡されたデータ pageX : イ
先日公開した「投稿スラッグ(Post slug)が空白なら警告してくれるWordPress用Greasemonkeyスクリプト」を開発しているときに、JavaScriptでのイベントのキャンセルまわりで見事にハマってしまいました。そのときに調べてわかったことをまとめてみようと思います。(間違いがあれば是非ご指摘ください!) やりたかったこと WordPressの投稿画面で「公開(Publish)」ボタンをクリックしたときに、「投稿スラッグ(Post slug)」のテキストボックスに値が入っていなければ、確認ダイアログを出す。そこで「キャンセル」ボタンが押されたら、フォームの submit を中止する。 最初に思いついた方法 まず頭に浮かんだのは、submit ボタンに対して HTML でイベントハンドラを記述するという、とても古典的な方法でした。
event.preventDefault() 1.0追加 デモ event.preventDefault() 1.0追加 戻り値:undefined このメソッドが呼ばれると、通常実行されるアクションがキャンセルされます。 デモ 例えば、Aタグのリンクをクリックすれば通常は指定されたページに遷移しますが、その処理をキャンセルすることが出来ます。 また、event.isDefaultPrevented()を使用すれば、event.preventDefault()がイベント中に実行されているかどうかを調べる事が出来ます。 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <!-- hrefにリンク先が指定されているので普通はこの
説明 一定時間後に処理を開始する「setTimeout」メソッドの処理を停止するメソッド。 「setTimeout」メソッドの設定で,「ID名=setTimeout(処理,時間設定)」としてID名を設定しておくと,そのID名を「clearTimeout」メソッドで指定することにより,指定したID名の「setTimeout」メソッドの処理を停止できる。 用例 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>clearTimeout
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネット(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日本のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2024年5月時点の調査。
解説 高機能なダイアログウィジェットです。 dialog は、タイトルバーとコンテンツエリアを持つ、フローティングウィンドウです。 デフォルトでは、移動、リサイズすることができ、右上の "x" ボタンでウィンドウを閉じることができます。 コンテンツの大きさが最大値を超えた場合は、スクロールバーが自動的に表示されます。 書式 依存ファイル jquery.ui.core.js jquery.ui.widget.js jquery.ui.mouse.js jquery.ui.position.js jquery.ui.draggable.jsオプション jquery.ui.resizable.jsオプション 引数 optionsオプション 関数 String: "destroy"、 "disable"、"enable"、"option"、"widget"、"close", "isOpen", "
2025年8月最新版 レンタルサーバーおすすめ比較完全ガイド! 当ページのリンクには広告が含まれています。
連想配列の要素の削除について、誤解しやすいポイントを書き留めておきます。 deleteを使うobj[a] = null;null指定だと、obj.aというプロパティがnullの値を持つとして、残ってしまいます。 残っていると、for~inに引っかかるため、都合が悪いことが起こる可能性があるわけです。 連想配列の要素の削除には、deleteを使用しましょう。 delete obj[a]; すべての要素を消すすべての要素を消すためにはfor~inで回してあげればよいです。 var obj = {a:1,b:2,c:3,d:4}; for(var key in obj){ delete obj[key]; }配列が対象だと全体の配列数が変化してしまうので、注意しないといけません。 けれど、連想配列は平気のようです。ちゃんと消えます。 連想配列についての補足オブジェクトというのはもれなく連想配列で
jQuery API の data( key, value ) は、マッチしたDOM要素と任意のデータを関連付けるメソッド。 引数 key データのキー。 文字列。 value 新しいデータの値。 配列やオブジェクトなど、任意のJavaScriptの型で指定。 戻り値 jQuery jQueryオブジェクト。 記述方法
マッチした要素に、任意のデータを関連付けます。 引数 [key]オプション String: データのキー [value]オプション Object: データ [Object]オプション (version 1.4 から) Object: データ(キーと値のハッシュ) 戻り値 jQuery: jQuery オブジェクト マッチした要素に関連付けたデータを取得します。 引数 [key]オプション String: データのキー 戻り値 Object: キーに対応する関連付けたオブジェクト。キーを省略した場合は、要素に関連付けられているオブジェクト。 例 「data」ボタンを押すと、p 要素に "p_data_key" というキーで "data associated !" というデータを関連付けます。 「removeData」ボタンを押すと、p 要素に関連付けたデータを削除します。 p 要素をクリック
jQueryには任意の範囲、要素を指定するためのセレクタと呼ばれる機能が用意されています。 たとえば、BODY要素内にあるすべての画像にアクセスしたい場合は下記のようにセレクタを指定します。 $("img") 例えば、IMG要素のボーダーを3ピクセルの赤に設定するには次のようにします。 $("img").css("border","3px solid red"); セレクタで対象を指定し、cssというメソッドでボーダー属性の値を設定しています。 セレクタは要素名以外にも、ID名やCLASS名を指定することができます。 たとえば、BODY要素内にあるすべての画像にアクセスしたい場合は下記のようにセレクタを指定します。 $("img.photo") IMG要素で、かつID名が photo01 の要素を指定するには、次のようにシャープの後にID名を指定します。 $("img#photo01")
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く