0

ですから、私はオブジェクトリテラルパターンに非常に慣れていませんが、このパターンとそれが提供する構成に本当に興奮しています。

私がやろうとしているのは、電話番号フォームフィールドをオンザフライで更新して、ユーザーが入力したとおりにフォーマットすることです(###-###-####)。ただし、フォーマット機能を一種の再利用可能なユーティリティにしたいので、オブジェクトリテラルパターンを使用しようとしている間、関数の機能を毎回書き直すことなく、他の入力に適宜割り当てることができます。

私はフィドルのセットアップをしていますhttp://jsfiddle.net/JF3Vh/3/

これが私がこれまでに持っているものです...進行中の注意学習...

HTML

<div id="contactPage">
  <form>

    <label id="lblPhone" for="txtPhone">Your Phone Number:</label>
    <input id="txtPhone" name="phone" type="tel"/>                      

  </form>
</div>

jQueryを使用したJavaScript

var appMobile = {

    utilities: {

        formatPhone : function(){
            alert( "formatPhone is running" );
            $( this ).val().replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
        }

    },
    page: {
    home : {function()
       //Some Page specific functions here
    },
    contactForm: function () {
            $( '#txtPhone' ).onchange(function() {
                $(this).appMobile.utilities.formatPhone();
            });
        },
    products : {function()
       //Some Page specific functions here
    },


    }


};


$( document ).ready( function () {

    /*--initialize Scheduling page function--*/
    if ( $( '#contactPage' ) ) { appMobile.page.contactForm(); }

} );

私をまっすぐにしてくれてありがとう!:)

WizzyBoom

4

1 に答える 1

0

私はこれがあなたが望んでいたことだと信じています:

var appMobile = {
    utilities: {
        formatPhone: function(){
            alert( "formatPhone is running" );
            $( this ).val().replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
        }
    },
    page: {
        home: function() {
           //Some Page specific functions here
        },
        contactForm: function () {
            $('#txtPhone').on('change', appMobile.utilities.formatPhone);
        },
        products: function() {}
           //Some Page specific functions here
        }
    }
};

$(function () {
    if ($('#contactPage').length) { 
        appMobile.page.contactForm(); 
    }
});

また、このマスクされた編集プラグインに興味があるかもしれません。

于 2013-01-08T21:16:20.320 に答える