Bootstrap表单助手时间选择器无法在我的手机上工作

时间:2015-01-06 14:48:14

标签: jquery html twitter-bootstrap

我已经实现了Bootstrap form helper: time picker plugin,它在我的桌面浏览器上正常运行。这是代码:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" class="form-horizontal" role="form">
    <div class="form-group">
        <label for="start_time" class="col-sm-2 control-label">Start time</label>
        <div class="col-sm-10">
            <div class="bfh-timepicker" id="start_time" data-name="start_time">
            </div>
        </div>
    </div>
</form>

结果如下:

clicked

这是我点击它时的结果:

clicked

正如我所说,这在我的桌面浏览器(谷歌浏览器)上运行良好。但是在我的手机(使用谷歌浏览器的HTC One)上,时间选择器无法正常工作。我可以像第一张图中那样点击它,但是当我尝试使用向上和向下箭头输入时间时,没有任何反应。

如何解决此问题?

编辑:使用IE在我的手机上试过,仍然是同样的问题。

2 个答案:

答案 0 :(得分:0)

正如评论中所述,使用此插件似乎没什么支持。我最终使用了https://github.com/Eonasdan/bootstrap-datetimepicker

答案 1 :(得分:0)

首先改变

.on('mousedown.bfhnumber.data-api', '.inc', BFHNumber.prototype.btninc)
.on('mousedown.bfhnumber.data-api', '.dec', BFHNumber.prototype.btndec);

.on('touchstart.bfhnumber.data-api mousedown.bfhnumber.data-api', '.inc', BFHNumber.prototype.btninc)
.on('touchstart.bfhnumber.data-api mousedown.bfhnumber.data-api', '.dec', BFHNumber.prototype.btndec);

thene find&#34; btninc&#34;和&#34; btndec&#34;功能

评论

$this.increment();  
$this.decrement();

精细改变&#34; etInterval()&#34; to&#34; setTimeout()&#34;

您的代码将是这样的:

btndec: function() {
  var $this,
      timer;

  $this = $(this).parent().find('.bfh-number').data('bfhnumber');

  if ($this.$element.is('.disabled') || $this.$element.attr('disabled') !== undefined) {
    return true;
  }

  // $this.decrement();

  timer = setTimeout(function() {
    var interval;
      interval = setTimeout(function() {
      $this.decrement();
    }, 0);
    $this.$element.data('interval', interval);
  }, 600);
  $this.$element.data('timer', timer);

  $(document).one('mouseup', {btn: $this}, BFHNumber.prototype.mouseup);

  return true;
}