JavaScript

textarea のカーソル位置にテキストを挿入する

jQuery 1.9 を用いて textarea の現在のカーソル位置にテキストを挿入します。動作は IE 6 〜 9, Chrome, FireFox の最新版で確認。 function insertAtCaret(target, str) { var obj = $(target); obj.focus(); if(navigator.userAgent.match(/MSIE/)) { var…

Rails 4 + Ruby 2.0 で画面遷移無しのファイルアップロード

表題のとおりのサンプルプロジェクトを作成します。まずはプロジェクトを新規作成します。 rails new sample_uploadscaffold でアップロード機能を作成、この辺はいつもどおり。 bundle exec rails g scaffold attachments title:string path:text何かと不便…

IE9 以下で jQuery 1.9.1 の html(val) が動作しない件

表題の通り、次のようなコードが動作しません。 var val = "<div>test</div>"; $("#hoge").html(val); IE10 では正しく動作する事を確認したのですが手元の環境では IE9 以下ではすべて動作しませんでした。とりあえずの対策としては html(val) を replaceWith(val) に…

script.aculo.us の Sortable は要素の更新時に再度設定する

以下のような html があったとします。 <ul id="sortable"> <li>あべし</li> <li>ひでぶ</li> </ul> ここで sortable と名付けた ul 内の要素をドラッグ&ドロップで動かしたい場合に script.aculo.us の Sortable を使います。記述は省きますが prototype.js 等の必要なライブラリはロード済とします…

select タグ内の option タグについて

以下のようなタグが存在する場合。 <select id="mySelect"> <option value="1">あべし</option> <option value="2">ひでぶ</option> <option value="3">たわば</option> </select> option タグの value に指定されている値を取得するには以下のように指定します。 $("mySelect").value; 一方 option タグの表示テキスト(上の例でいうと「あべし」や「ひでぶ」)を取得したい場…

Prorotype.js の each で break する

Ruby ユーザ的には非常に使いやすい Prototype.js の each ですが、通常の break でループを抜ける事ができません。以下のように記述します。 ary.each(function(item) { if(item == "break!") { throw $break; } });