2012-10-19 40 views
2

当按下回车键时,会生成此图表。我想用一个简单的按钮来代替: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);     
      } 
     } 
    }); 
}); 

怎么办呢?

回答

0

你可以这样做:

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

这样做input.trigger(e)你“模拟”按下输入该输入键。所以基本上你调用输入的keydown该回调函数...

如果你想要一个新元素,调用该函数,只要绑定别的东西,而不是输入即$('button').click(...)

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);     
     } 
}); 
+0

它不工作! – user1759720

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);     
    } 
}); 

有所以,你必须修改按钮的选择。另外,在您的页面上,您从单个输入中获取数据。您之前可以使用$(this)获取该选择元素,但现在您不能,因为this是单击的按钮。所以我将代码更改为使用$('select'),您可能希望通过将ID添加到select并将id用作选择器来使其更具体。