2

Enterキーが押されたときにこのチャートを生成しました。代わりにシンプルなボタンを使いたい: http://www.cb-dev.tk/A/

init.js ファイルは次のとおりです。

$(function(){
    var input = $('.input'),
        bar = $('.bar'),
        bw = bar.width(),
        percent = bar.find('.percent'),
        ps =  percent.find('span'),
        name = 'rotate';

    input.on('keydown', function(e){
        if (e.keyCode == 13){
            var t = $(this), val = t.val();
            if (val >=0 && val <= 1000){
                var w = 1000-val, pw = (bw*w)/1000,
                    pa = {
                        width: w/10+'%'
                    },
                    cw = (bw-pw)/2,
                    ca = {
                        left: cw
                    }
                ps.animate(pa);                 
            } 
        }
    });
});

どうやってするの ?

4

3 に答える 3

0

そのすべてのコードをボタンクリックイベントに入れ、現在持っているキープレスのコードを取り除きます

$('button.yourbutton').click(function(){
     var input = $('.input'),
     bar = $('.bar'),
     bw = bar.width(),
     percent = bar.find('.percent'),
     ps =  percent.find('span'),
     name = 'rotate';
     var t = input, val = t.val();
        if (val >=0 && val <= 1000){
            var w = 1000-val, pw = (bw*w)/1000,
                pa = {
                    width: w/10+'%'
                },
                cw = (bw-pw)/2,
                ca = {
                    left: cw
                }
            ps.animate(pa);                 
        } 
});
于 2012-10-19T15:17:38.623 に答える
0
$('#button-id').on('click', function(e){
    var t = $('select'), val = t.val();
    if (val >=0 && val <= 1000){
        var w = 1000-val, pw = (bw*w)/1000,
            pa = {
                width: w/10+'%'
            },
            cw = (bw-pw)/2,
            ca = {
                left: cw
            }
        ps.animate(pa);                 
    }
});

そのため、ボタンのセレクターを変更する必要があります。また、あなたのページでは、単一の入力からデータを取得していました。以前はその select 要素を取得するために使用できましたが、クリックされるのはボタンである$(this)ため、現在は使用できません。thisそのため、コードを use に変更しました$('select')。おそらく、select に id を追加し、id をセレクターとして使用して、より具体的にする必要があります。

于 2012-10-19T15:18:03.837 に答える
0

次のようなことができます。

var e = jQuery.Event("keydown");
e.which = 13;
$('button.yourbutton').click(function(){
  input.trigger(e); // input is your $('.input')
});

そうinput.trigger(e)することで、その入力でEnterキーを押すことを「シミュレート」しています。したがって、基本的には、入力キーダウンでそのコールバック関数を呼び出しています...

別の要素でその関数を呼び出す場合は、入力の代わりに別のものをバインドするだけです。$('button').click(...)

于 2012-10-19T15:14:31.310 に答える