既に利用されている方々とほぼ同じ意見だと思うのだが、私がAngularJSを気に入って使っているのは 構造的に書ける MVVMぽい DOMを触らなくて良い ほぼこの3つに集約される。 1.構造的に書ける AngularJSはアプリケーションを書く際のコードを構造がほぼ決まっている。その構成はビューであるHTMLを除くと コントローラ サービス フィルタ プロバイダ ディレクティブ これらの要素に分類されDIにより疎に結合される。基本的には誰が書いてもこれらの要素を配置する必要がある訳で、同じ要素で構成されるということは他の誰かが書いたコードを読むことが比較的容易だということになる。(JavaScriptで最も苦痛なのは他の誰かが書いた、一か所に固まりすぎた又は逆に分散しすぎたコードを読むことである) 2.MVVMぽい 今のGUIプログラミングでMVCを意識するのはもはやテーブルマナーだろう
目次 jQuery 1.4以前の書き方jQuery 1.5以上の書き方jQuery 1.8以上の書き方【発展編1】Deferredを用いた書き方 deferredとは何か?【発展編2】$.when() を用いた書き方参考本エントリは軽めのjQuery Advent Calendar 2012の14日目の記事として書きます。軽めといいながら少し重めになってしまった感がありますが、初めてのAdvent Calendar参加ということでご勘弁を。 ※ Twitter API仕様変更によりTwitter APIを使ったコード例は現在動作しなくなっていることにご注意。 jQuery 1.4以前の書き方まずは、少し古めのコード、昔のjQueryの本とかでよく見る書き方。 $.ajax({ url: "ajax.html", success: function(data) { alert('succes
初心者向けの本とかだと、イベントを jQuery オブジェクトの後に直接指定する、 $('.foo').click(); のような書き方で説明されている場合が多いけど、少し複雑なことをしようとするとそれだと困ることが出てきます。そんなときに便利なのが on() を使ったイベント設定です。 on() ひとつで bind() live() delegate() を表せる jQuery 1.7 で、bind() live() delegate() がすべて on() に統合されたそうです。 つまり on() の書き方によって、3 パターンの使い方ができるということです。 .foo という要素をクリックしたら何かするという例で、イベントの設定と削除の方法をそれぞれ書いてみます。 bind() $('.foo').bind('click', function(){...}); は $('.foo')
仕事の進みがちょいとアレなので、現実逃避もとい気分転換に。 フォームの入力内容を、jQuery.ajax()を使ってサーバーへ送信したいって時のパターンです。 基本的な流れ フォームのsubmitを拾う 通常の送信はキャンセル 送信ボタンを無効化 送信先URLやフォームの入力値を取得 送信 受信後、送信ボタンを戻す 入力値をどう得るか、というのがポイントかと思います。 送信ボタンを無効化するってのはやらなくても良いんだけど、誤操作防止のためにも是非やって頂きたいと思います。あと送信ボタンの制御以外にも応用がききます。 デモ なんかお問い合わせフォーム的なものを用意しました。 まー実際にお問い合わせフォームをAjaxで送信する場面なんてないような気もするんですが、基本パターンという事で。
jQuery.textcomplete(デモ) GitHubのようなtextareaの補完機能を実装する - カーソル位置の取得 を書いたのも今は昔、いつか続きを書こう書こうと思いながら気がつけば5ヶ月が過ぎました なんか続きを書くのが面倒くさくなったのと、某日本最大レシピ共有サイトの技術部長の人から「OSSにして欲しい」という要請を人伝に受け取ったこともあって、OSS化した次第です。 ライセンス MITライセンス 簡単な使い方 簡単に説明します。詳しくは README を読んでください。 まず jQuery.textcomplete は名前からも分かるように jQuery プラグインになっているので、別途 jQuery が必要です。 <script src="path/to/jquery.js"></script> <script src="path/to/jquery.textcomp
JavascriptのテストはXHRがネック JavaScriptを書いていると、RESTサービスを利用してXHR(XMLHttpRequest)やjQuery.ajax経由で JSONのやり取りをする処理を実装することが多い。 こういった処理は以下の理由からテストが書きにくい。 1.サーバサイドの実装状況に依存する 2.非同期処理 JavaScriptを始めたばかりの時はjsUnitを使ってテストを書いていたのだが、 この2点はいつもネックになっていた。 QUnitとmockjaxでだいたい解決する 新しいテストフレームワークをいろいろと試してみた結果、jQueryのテストフレームワークQUnitと jQueryライブラリのmockjaxを使えば自分が書く実装の大部分が解決できることがわかった。 QUnitについては色々と日本語の情報があるのだが、mockjaxについては ほとんど見られ
##jQuery Mockjax: Ajax request mocking MockjaxはAjaxのリクエストをインターセプトして返してあげるモックを作成するための、jQueryのプラグインです。 githubはこちら Ajaxの処理を書いていると、コールバック関数の確認はサーバ側の処理がないと確認がとれないのですが、このプラグインを使えば サーバ処理がなくてもJavascriptの動作確認ができるのでとても便利です。 なので今日は簡単に使い方を書いてみます。 ##How to use <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>How to use mockjax</title> </head> <body> <input id="fire" type="button" value=
結局jQuery.Deferredの何が嬉しいのか分からない、という人向けの小話 一年ほど前に JavaScript - jQuery.Deferredを使って楽しい非同期生活を送る方法 - Qiita [キータ] という記事を書きました。 で、一年経って、ふと、「もっと分かりやすくjQuery.Deferredの便利さを説明できるんじゃないか」と思い立ってざざざっと書いてみました。 小話と言うにはちょっと長いけど。 -- jQuery.Deferredを使うと嬉しいのは、jQuery.Deferredの仕様を満たす部品同士を簡単に組み合わせることが可能だからです。中には処理を書き下すことができるとかコールバックのネストを防げるのがいいとか言う人もいますが、個人的にこっちのほうがよっぽど重要だと感じます。 例えるならレゴブロックです。レゴブロックはあの凸と凹を持ってるブロックを自由に組み合
http://twitter.github.com/bootstrap/ ノーマルは $(function(){ $('.popup').popover() }); という感じ。トリガーをマニュアルにしたい。toggle()を使いたい。 $(function(){ $('.popup').popover({ trigger: 'manual' }).click(function(e){ $(this).popover('toggle'); e.preventDefault(); }); }); という感じにする。これをさらに「popoverを閉じるときに、どこをクリックしても閉じれる」ようにする。 var isVisible = false; var clickedAway = false; $(function(){ $('.popup').popover({ trigger: 'man
先日公開した「投稿スラッグ(Post slug)が空白なら警告してくれるWordPress用Greasemonkeyスクリプト」を開発しているときに、JavaScriptでのイベントのキャンセルまわりで見事にハマってしまいました。そのときに調べてわかったことをまとめてみようと思います。(間違いがあれば是非ご指摘ください!) やりたかったこと WordPressの投稿画面で「公開(Publish)」ボタンをクリックしたときに、「投稿スラッグ(Post slug)」のテキストボックスに値が入っていなければ、確認ダイアログを出す。そこで「キャンセル」ボタンが押されたら、フォームの submit を中止する。 最初に思いついた方法 まず頭に浮かんだのは、submit ボタンに対して HTML でイベントハンドラを記述するという、とても古典的な方法でした。
jQueryで、画像読み込み表示には色々な方法はありますが、javascriptの new Image()を使用して表示させる例が多いようです。 new Image()での、画像読み込み表示 jQueryで、画像読み込み表示には色々な方法はありますが、javascriptの new Image()を使用して表示させる例が多いようです。ネットで調べれば沢山の情報がありますが、私の場合の経験を踏まえて記述します。 Image()が使用される理由は、 1. 表示サイズではなく画像の実寸を得ることができる。 2. 画像にアクセスして、ロード完了を知ることができる。 3. ERRORの場合の処理ができる。(余り使用はされていないが、、) 4. Loading中の「Loading画像」など表示させる時に便利。 5. jQueryで画像のロードに適したメソッドがない。(ほとんどが、html text な
Creating a Radial Menu in CSS マウスのホバーで、「扇形のツールチップ」がアニメーションで表示されます。 続いて、二つ目のデモ。上記にインスパイアされたもので、動きが絶妙ですごいです! Circular Tooltip こちらはクリックで、「扇形に広がるツールチップ」がアニメーションで表示されます。 実装はデモページにも掲載されていますが、下記のようになっています。 HTML !-- content to be placed inside <body>…</body> --> <a class='button ctrl' href='#' tabindex='1'>★</a> <ul class='tip ctrl'> <li class='slice'><a href='#'>✦</a></li> <li class='slice'><a href='#'>✿
だいぶ間が空きましたが ちょっとハマったのでメモっておきます。 jQueryでのajaxは $.ajaxというシンタックスにて利用できますが その際にクロスドメインの問題とかの場合、 XMLデータじゃなくてJSONを使ったJSONPという仕組みを使います。 jQuery側は [javascript] $.getJSONP = function(url,callback,param) { return $.ajax({ url: url, dataType:”jsonp”, success:callback }); } $.getJSONP(“./hogehoge/getjson.php”t,onDataHandler) function onDataHandler(response) { //受信後の処理をここに } [/javascript] こんな感
This site is a static archive of the old jQuery Plugin Registry. New plugin releases will not be processed. The jQuery Plugin Registry is preserved for historical purposes. Search is still supported. We do not recommend using any versions of plugins from this registry. Please find jQuery plugins on npm.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く