1

data-*動的 html シナリオで(属性を介して) 目立たない JavaScript を作成する方法を見つけています。inputjquery-ui datepicker を表す要素があるとしましょう。

<input type="date" data-min-date="today" />

そして、仕事をするjs:

(function(){
    $(function () {
        $("input[type=date]").each(function () {
            var el = $(this);
            el.datepicker(el.data());
        });
    });
})(jQuery);

ここで、ネイキッド入力を日付ピッカーに変換するための控えめなクロスブラウザーの方法が必要です。入力は動的に追加されます。一般に、日付ピッカーを追加するコードを制御することはできません。一般に、コードは、jquery.ajax.unobtrusiveまたはjquery-pjax (どちらも jQuery.html() メソッドを使用) を介して、サーバー側で事前にレンダリングされた html として挿入されます。しかし、jQuery 対応のすべてのシナリオで機能する、より一般的なソリューションが必要です。

ミューテーション イベントを確認しましたが、IE ではサポートされていません。

完全なjsfiddle-example http://jsfiddle.net/zv9Rt/1/

4

3 に答える 3

0

.on()を使用するだけです。

サンプルは次のとおりです:http://jsfiddle.net/H7ZUa/1/

于 2012-04-08T15:38:03.973 に答える
0

$.delegateを使用します。

(function(){
  $(function () {
    $('body').delegate("input[type=date]", function () {
        var $el = $(this);
        $el.datepicker($el.data());
    });
  });
})(jQuery);
于 2012-04-08T15:37:17.723 に答える
0

Livequeryドキュメントを使用します。

$("input[type=date]").livequery(function() {
    var el = $(this);
    el.datepicker(el.data());
});
于 2012-04-08T17:18:31.643 に答える