2012-03-15 7 views
1

jQuery TOOLSのdateinput関数を使用しています。それはうまくいきますが、ユーザーは日付を手動で入力する必要があります。jQuery TOOLS - Dateinputは読み取り専用テキストボックスを発生させます

dateinputメソッドを使用しているとき、それは読み取り専用にバインドされたテキストボックスを作成するようです。

ピッカーコントロールを使用するだけでなく、日付を手動で入力する方法を教えてください。

+0

誰でも助けることができますか?ちょうどこの問題に戻り、私はそれを解読することはできません。何か簡単ですか? – fc165f2a4d9c19f53cb773cc383dbe

答えて

0

それだけではなく、唯一のそれは同様他のすべてを作る読み取るためにバインドされていますテキストボックスを作成します。私はこのような刺激的な制限を取り除くために、私のように誰かを招いて、多くの場所に投稿しています。

キーの配列をチェックしてから、返されたときにpreventDefault()が行われていることがわかります(これにより、通常の入力/テキストエリアが直接入力できなくなります)。

 d(document).on("keydown.d", function(a) { 
      if (a.ctrlKey) return !0; 
      var e = a.keyCode; 
      if (8 == e || 46 == e) return b.val(""), f.hide(a); 
      if (27 == e || 9 == e) return f.hide(a); 
      if (0 <= d(Q).index(e)) { 
       if (!u) return f.show(a), a.preventDefault(); 
       var h = d("#" + c.weeks + " a"), 
        j = d("." + c.focus), 
        g = h.index(j); 
       j.removeClass(c.focus); 
       if (74 == e || 40 == e) g += 7; 
       else if (75 == e || 38 == e) g -= 7; 
       else if (76 == e || 39 == e) g += 1; 
       else if (72 == e || 37 == e) g -= 1; 
       41 < g ? (f.addMonth(), j = d("#" + c.weeks + " a:eq(" + 
        (g - 42) + ")")) : 0 > g ? (f.addMonth(-1), j = d("#" + c.weeks + " a:eq(" + (g + 42) + ")")) : j = h.eq(g); 
       j.addClass(c.focus); 
       return a.preventDefault() 
      } 
      if (34 == e) return f.addMonth(); 
      if (33 == e) return f.addMonth(-1); 
      if (36 == e) return f.today(); 
      13 == e && (d(a.target).is("select") || d("." + c.focus).click()); 
      return 0 <= d([16,17,18,9]).index(e) 
     }); 

縮小されたソースからコードを削除できましたが、その際に圧縮が失われました。私はまだ否定的な影響を見ていません(それ以外のファイルサイズは42kb => 140kbでした)。

関連する問題