2013-06-20 51 views
0

我有一個輸入字段,用於Twitter Bootstrap(this one)的Jquery日期選擇器,在我的應用程序中我也使用touchSwipe(this)。由於某種原因,兩者不能一起工作。發生以下情況: 當我第一次在輸入字段內單擊時,datepicker顯示。 the datepickertouchSwipe meps with datepicker

當我沒有選擇一個日期(並單擊文本區域外的某個地方以便datepicker消失)時,第二次選擇輸入字段時出現一個選項字段。當我選擇日期時,日期選擇器不再顯示。

option field

我用下面的JS:

// Enable touchSwipe 
$(window).ready(function() { 
    $('#form').swipe({ 
     swipeLeft: function(event, direction, distance, duration, fingerCount) { 
      if($(window).width() < 751) { 
      $('#daycalendar').animate({ 
       right: '0%' 
      }, 250); 
     } else { 
      // absolutely nothing 
     } 
    }, 
    swipeRight: function(event, direction, distance, duration, fingerCount) { 
     if($(window).width() < 751) { 
      $('#daycalendar').animate({ 
       right: '-80%' 
      }, 250); 
     } else { 
      // absolutely nothing 
     } 
    }, 
    threshold: 0 
}); 
}); 
// Call datepicker 
$('#date').datepicker(); 

當我刪除從上面的代碼中touchSwipe JS導入腳本或一切(除了最後兩行)的日期選擇器工程。

的日期選擇器的工作原理也當我第一次選擇不同的輸入字段,然後再次單擊日期輸入字段。

我通過兩個日期選擇器和touchSwipe JS文件耕地,但我找不到元素與日期選擇器擰緊。

有人可以幫忙嗎?

編輯這裏是一個真人版。它僅針對移動設備進行了優化,因此您可能需要縮小瀏覽器的縮放範圍(寬度)。 http://paulvandendool.nl/lab/test/

+0

嘗試'$( '#日期')關( '點擊')日期選擇器()'取消綁定以前綁定 – TecHunter

+0

沒幫幫我。長號:( –

+0

:(你能提供你的HTML?甚至更好的小提琴...... – TecHunter

回答

1

我注意到輸入字段是如何保持聚焦的,即使我點擊了它外面。添加以下代碼到swipe功能的工作:。

swipeStatus:function(event, phase, direction, distance, fingerCount) { 
    if (phase == "move" || phase == "start") { 
     var $target = event.target.nodeName; 
     if($target.toLowerCase() === 'input') { 
      return false; 
     } else { 
      $('input').blur(); 
     } 
    } 
}, 

https://github.com/mattbryson/TouchSwipe-Jquery-Plugin/issues/29

+0

+1,好趕上。我得到了這個問題畢竟... – TecHunter

+0

但你應該更新插件,顯然是這樣固定。而且我不喜歡狂放的'$(input).blur()',它太寬泛了 – TecHunter