0

次の jsfiddle ... http://jsfiddle.net/mqVUU/ ... は、単純な入力フィールド UI の微調整です。目標は次のとおりです。

  • フォーカス時に、入力を拡大します (アニメーション経由)
  • フォーカス時、現在の入力内容を選択
  • 入力で「Enter」が押されたとき、入力をぼかす
  • ぼかしの場合、入力を縮小します

これまでのスクリプトは次のとおりです...

$('input').on({
    focus: function(){
        $(this).animate({'width':200}, 300, 'easeInOutBack');
        $(this).select();
    },
    keydown: function(e){
        if (e.keyCode == 13) {
            $(this).blur();
        }
    },
    blur: function(){
        $(this).animate({ 'width':100}, 300, 'easeInOutBack');
        $('#result').html( $(this).val() );
    }
});

誰でもこれらの質問を助けることができますか...

  1. コールバックに入れるとanimate()、アニメーションの発生中にユーザーが入力したものはすべて上書きされ、問題が発生します。select()では、適切に機能させるための最良の方法は何ですか?
  2. パラメータは本当にトリガーとしてkeydown受け入れる唯一の方法ですか??enter

ポインタをありがとう:)

4

2 に答える 2