2009年3月アーカイブ

jQuery-nextFields

| | コメント(0) | トラックバック(0)
    new function () {
        var input = $('form:last').find(':input, :submit, :image').each(function (index) {
            if ($(this).is('textarea, :submit, :image')) return;
            $(this).keypress(function (env) {
                if (env.keyCode != 13) return;
                env.preventDefault();
                input.eq(index + 1).focus();
            });
        });
    };

たまにやるjQueryのミス

| | コメント(0) | トラックバック(0)
http://tockri.blog78.fc2.com/tb.php/138-3b66597e

$('table.hstripe tbody tr td:even').addClass('hstripe-even');

ってやるとtable.hstripeが複数あったときに全部まとめて一つのテーブルとして計算されるので、例えば以下のようなときにまずい。

<table class="hstripe"><tr><td></td></tr></table>
<table class="hstripe"><tr><td></td></tr></table>
<table class="hstripe"><tr><td></td></tr></table>

これはこんな感じになるはず。

<table class="hstripe"><tr><td class="hstripe-even"></td></tr></table>
<table class="hstripe"><tr><td></td></tr></table>
<table class="hstripe"><tr><td class="hstripe-even"></td></tr></table>

こうすればOK(多分)

$('table.hstripe').each(function () { $(this).find(' tbody tr td:even').addClass('hstripe-even'); });

<table class="hstripe"><tr><td class="hstripe-even"></td></tr></table>
<table class="hstripe"><tr><td class="hstripe-even"></td></tr></table>
<table class="hstripe"><tr><td class="hstripe-even"></td></tr></table>

「あるある」と思ったので古い記事だけど突っ込んでみた。

T61をXP化した

| | コメント(0) | トラックバック(0)
メモリ使用率が激減。
多少整理したせいもあるかもしれないけど、3GB積んでぎりぎりだったのが1.5GBくらいになってる。

ただ、やはりCPU使用率は若干上がってる印象はある。
でも、もともとCPUよりメモリがやばかったので快適になった。

自宅のXP入れたけど、そっちのどうしようかなぁ。
(VistaはCDないし)

信じることは割り切ること

| | コメント(0) | トラックバック(0)

mysqlのwebサイトがひどすぎて笑った

| | コメント(0) | トラックバック(0)
登録画面は文字化けしてるし、問い合わせフォームは存在しない項目が未入力でエラーになる。
10年くらい前に海外の会社が無理矢理日本語化して残念な感じになってるのを思い出した。

これでセキュリティとかいわれてもw

jQuery 1.3系でサポートされたよさげな機能

| | コメント(0) | トラックバック(0)
.context
    .get(0)のsyntax suger
    function呼び出しがない分早いかも。

.scrollTop()
    suzunariでも内部ではこれ使おうかな。

.outerWidth()、.innerWidth()
    おー、widthじゃなくてこっちの方がいいか
.live
    DOM延々いじる場合はいいかも
    でも、イベントって混乱しやすいので扱い注意
.die
    ちょw名前w
.isArray
    ようやくサポート

jQuery Objectまとめるには.add

| | コメント(0) | トラックバック(0)
しらんかった。。。

いままで、$.makeArray()して.pushして$()でまとめるとかやってたよ。。。

console.logの有無で結果が変わる

| | コメント(0) | トラックバック(0)
う~ん、シュレーディンガーの猫っぽい

JSのテストケースの集積場作りたいなー

| | コメント(0) | トラックバック(0)
wonderflみていいなーと思ったけど、JSの場合もうある気もするし、単体でいろいろやるには向いてないから、テストケースの集積場ならいいかもなーと思った。

フレームワーク選択して、対象のJS読み込んでみんなでテストケース書く。
他人のJSにもテスト追加したり。
似たようなライブラリは他のライブラリのテストぱくったり。

微妙か。。。

jQueryでplaceholderやるのがはやりらしいので

| | コメント(0) | トラックバック(0)
乗ってみた。全然確認してないけど、読めば動くはず。

(function ($) {
    if ($.browser.safari) return;
    var name_space = 'placeholder';
    var param = (function () {
        var src = $('script[src*="'+name_space+'.js"]').attr('src');
        if (!src || src.indexOf('#') < 0) return {};
        var result = {};
        $.each(src.split('#').pop().split('&'), function () {
            var kv = this.split('=');
            result[kv[0]] = decodeURIComponent(kv[1]);
        });
        return result;
    })();
    $.fn[name_space] = function (options) {
        var settings = $.extend({
        }, param, options);
        var elements = this;

        $(elements).each(function () {
            var $_ = $(this);
            var offset = $_;
            var div = $('<div>'+$_.attr('placeholder')+'</div>')
                .css({
                    'position' : 'absolute',
                    'top' : offset.top,
                    'left' : offset.left,
                    'display' : 'none'
                })
                .appendTo('body')
            ;
            $_.focus(function () {
                div.hide();
            }).blur(function () {
                if ($(this).val()) return;
                div.show();
            });
        });

        return this;
    };

    if (!param.no_exec) $(function () { $('input[placeholder]')[name_space](); });
})(jQuery);

oooが落ちまくる

| | コメント(0) | トラックバック(0)
なんかを貼り付けようとすると高確率で固まる。

2系も3系も同じ症状でほとんど使い物にならない。
vistaのせいか、常駐物のせいか。。。

spreadsheetsもFx3で動きおかしいし。
みんなCSVでいいじゃん。

jQueryのカスタムセレクタの使い方

| | コメント(0) | トラックバック(0)
$.expr[':'].hogehoge = function () {
    return console.log(arguments);
}
$(':hogehoge');

nodeType==3だけに一致するセレクタを作りたかったけど、これはできない予感。

不安と焦燥ほど金になるものはない

| | コメント(0) | トラックバック(0)

変な利用規約

| | コメント(0) | トラックバック(0)
・禁止事項
~~
 ・禁止事項に接触する行為
~~

よくわからん。

収入は客観。満足は主観

| | コメント(0) | トラックバック(0)

Selenium IDEってJSでできてるんだ

| | コメント(0) | トラックバック(0)
テストフレームワークとしてはかなりいい感じかも。
クロスブラウザのテストは無理かもしれないけど、ロジックテストだけなら割と理想的かも。
(クロスブラウザでない時点でかなり理想的じゃないけど)

perlはmy $h;$h->{'a'}++;とかできて良いな

| | コメント(0) | トラックバック(0)
言語的にはむちゃくちゃかもしれんけど、組む側からすればセンス良いなぁ。

罰の無い幸福は苦痛

| | コメント(0) | トラックバック(0)

swfobjectとかでIEにallowScriptAccessが効かないときに調べること

| | コメント(0) | トラックバック(0)
idとかと一緒に渡してない?flashvarsの次のobjectで渡すのが正解。
FFはそれでも動くので注意。

まあ、例によって自分が悪いんだけど。

objectの属性として展開するか、param要素として展開するかの差

swfobject.embedSWF(
    'http://example.com/test.swf',
    'target_id',
    'width px',
    'height px',
    '9.0.0',
    undefined,
    {
        'flashvars_key' : 'flashvars_val'
    },
    {
        'quality' : 'high',
        'wmode' : 'transparent',
        'allowNetworking' : 'all',
        'allowScriptAccess' : 'always'    //ここで渡す
    },
    {
        'id' : 'game'    //ここでallowScriptAccessを渡してもFFは動くので注意
    }
);

jsの正規表現で改行も含めたい場合、[\s\S]って書くことを今日知った

| | コメント(0) | トラックバック(0)
//mは通じないらしい。
って言うか/.+/に改行が含まれないことを忘れてて昨日死ぬほどはまった。寝て起きたら気付いたけど。

簡単なことも難しく 難しいことはできない

| | コメント(0) | トラックバック(0)
OpenSocialについて。まあ、よそのサイトに入れる物だからしょうがないけど。