javascript

html文字列のあたまに空白があるとjQueryオブジェクトの作成に失敗する

var s = ' <div></div>'; console.log($($.trim(s))); console.log($(s)); // Uncaught Error: Syntax error, unrecognized expression: <div></div>

再帰的なtoJSON()

http://www.shesek.info/web-development/recursive-backbone-models-tojson Backbone.Model.prototype.toJSON = function() { if (this._isSerializing) { return this.id || this.cid; } this._isSerializing = true; var json = _.clone(this.attributes)…

セレクトボックスでsubmit

(function() { $(SELECT).change(function() { $(this).closest('form').submit(); }); })();

Dateオブジェクトのクローン

var d = new Date(); var clonedDate = new Date( +d ); // 差分を追加する var another = new Date( +d + delta );

継承

The Good Parts のやつ var mammal = function(spec) { var name = spec.name, cry = spec.cry, self = { getName: function() { return name; }, getCry: function() { return cry; }, say: function() { console.log(self.getName() + ' ' + self.getCry()…

Sortable

Sortable Widget | jQuery UI API Documentation $(function() { function setCursor(obj, val) { $(obj).find('span').css('cursor', val); } var target = $('#sortable'); setCursor(target, 'pointer'); target.sortable({ start: function(e, ui) { set…

ソースコード整形

jsbeautify - a javascript source code formatter : vim online 結局、上記スクリプトを使用する。 id:oppara:20070430 いろいろアップデートしてたので JavaScript-C 1.8.0 pre-release 1 2009-02-16 JsDecoder.js 1.1.0 // usage: $ js -f $0 < hoge.js >…

jQuery confirm plug-in

http://blog.smartnetwork.co.jp/staff/jquery-confirm-plugin のuiでないやつ http://gist.github.com/189800mouseoverするとテキストが表示されるがかっこ悪いのでなんとかする。

タグ名の取得

if( $(hoge).get(0).tagName.match(/span/i) ) { }

いまさらMozReplでfirefoxのUAなどをいじる

http://wiki.github.com/bard/mozrepl MozRepl HTMLDocumentまでのアクセス - hibomaのはてなダイアリー 初期化? replinit.js var hogehgoe = { Cc: Components.classes, Ci: Components.interfaces, startUpService: Cc["@mozilla.org/toolkit/app-startup;…

onpaste, oncopy, oncut

HTMLElement.onpaste - Web API | MDN element.oncopy - Web API | MDN element.oncut - Web API | MDN <input type="text" onpaste="alert('貼り付けはできません。'); return false" name="hoge" value="" />

confirmHoge()

js function confirmHoge() { if( confirm( 'hogehogeしますか?' ) ) { document.form_name.submit(); } else { return false; } } html <form name="form_name" onsubmit="return confirmHoge()" > ... </form> or <form name="form_name" > ... </form> <a href="#" onClick="return confirmHoge()">hogehoge</a>

オブジェクト型は参照渡し

配列 var a = ['foo', 'bar', 'baz']; var a1 = a; alert( a ); // foo, bar, baz hoge( a1 ); alert( a ); // bar, baz function hoge( a ) { a.shift(); } オブジェクト var o = {'foo':'foofoo', 'bar':'barbar'}; var o1 = o; dd( o ); // foo => foofoo…

ctagsとtaglist.vim

ctags で JavaScript のタグを生成 - 2nd life.ctags --jcode=utf8 --langmap=javascript:.js --regex-javascript=/^(.*).prototype *= *(.*)/\1/o,object/ --regex-javascript=/^[ \t]*(.*) *: *function/\1/o,object/.vimrc " 2個上のディレクトリ以下から…

jsの圧縮

jsPacker.pl -i hoge.js -o hoge_pack.js -e62 -e95(High-ascii)で圧縮するとエラー -e62(alphanumeric)で動作

pngの半透明2

id:oppara:20070420 AlphaImageLoaderのsizingMethod crop(オブジェクトのサイズを優先させる) image(イメージのサイズを優先させる) scale(オブジェクトのサイズにイメージのサイズを合わせる) <html> <body> <div id="hoge"> <p><a href="#">hogehoge</a></p> <div class="alpha"></div> </div> <div class="moge">mogemoge</div> <div class="moge">mogemoge</div> </body> </html>

プルダウンメニュー

http://www.designmeme.com/articles/csspulldownmenu/ http://blog.faro.main.jp/?eid=591449 cssの設定でかなりぶれる。。 css: #menu { text-align: left; } #menu ul, #menu li { list-style: none; margin: 0; padding: 0; } #menu ul#mainMenu li, #me…

ソースコード整形

参考:blog.8-p.info: SpiderMonkey でフィルタを書く 要、SpiderMonkey、JsDecoder.js // usage: $ js -f $0 < hoge.js > moge.js load( ['/path/to/JsDecoder.js'] ); var jsdecoder = new JsDecoder(); var lines = ''; var ln; while ( ( ln = readline(…

圧縮

dean.edwards.name/download/ lintでwarningが出てると動作しない確率高

pngの半透明

IEのフィルターを設定したブロック内のアンカーがクリックできない不具合回避。 http://blog.webneta.net/archives/2006/09/01/22/ 面倒なのでそれ用のスクリプト作成。やっつけ。 参考:http://www.alistapart.com/articles/pngopacity/ -要、browser_detec…

Stringオブジェクト、なんちゃって拡張

String.prototype.ucFirst = function () { return this.substr(0,1).toUpperCase() + this.substr(1,this.length); }; String.prototype.lcFirst = function () { return this.substr(0,1).toLowerCase() + this.substr(1,this.length); }; String.prototyp…

mootooles.jsのAjax.request()にX-REQUESTED-WITHヘッダを追加

prototype.jsと同じリクエストヘッダを追加するオーバライド? 追加するヘッダ:X-REQUESTED-WITH: XMLHttpRequest 意味あんのか? Ajax.implement({ request: function(){ this.transport.open(this.options.method, this.url, this.options.async); this.t…

シンタックスチェック

JavaScript Lint Firefox互換 実行ファイルとconfをパスの通ったとこにおく。 +processはコメントアウトしとく。 $ jsl hoge.jsとりあえずmate用 Painfully Obvious → JavaScript Tools TextMate Bundle jsl -process "$TM_FILEPATH" なんとなくmi用 propert…

ハンドカーソールにする。

function setHandCursor(o) { var shape = 'pointer'; if ( is.win && is.ie && !is.ie6up ) { shape = 'hand'; } o.style.cursor = shape; }

選択部分をWikiPediaで検索するBookmarklet

404 Blog Not Found:Pedia vs. Bookmarklet or Widget javascript:d=document;w=window;t=''; if(d.selection){t=d.selection.createRange().text;} else%20if(d.getSelection){t=d.getSelection();} else%20if(w.getSelection){t=w.getSelection();}%20; vo…