مدیریت کلید Enter برای کنترل فیلد متنی

شروع موضوع توسط yaa110 ‏9 می 2011 در انجمن برنامه فلش Flash

کلمات کلیدی:
  1. yaa110

    yaa110 کاربر فعال

    ارسال‌ها:
    206
    تشکر شده:
    503
    امتیاز دستاورد:
    16
    گاهی نیاز است که با فشردن کلید Enter بلافاصله بعد از تایپ متن در یک فیلد متنی، عملیات خاصی اجرا شود، اما با توجه به این که کلید Enter در فیلدهای متنی توسط Player مدیریت می شود، استفاده از آن توسط KeyboardEvent در حالت عادی مقدور نمی باشد. در این درس نحوه مدیریت این کلید برای فیلدهای متنی آموزش داده می شود.


    ۱- یک پروژه Action Script 3.0 ایجاد کنید و به وسیله ابزار Text یک فیلد متنی ایجاد کنید.


    ۲- حالا کلاسه های مورد نیاز را Import کنید.


    کد (Text):
    import flash.events.KeyboardEvent;
    import flash.ui.Keyboard;


    3- در ادامه یک Listener برای فیلد متنی ایجاد کنید و مقدار useCapture را برای آن true در نظر بگیرید تا مدیریت کلیدها را در اختیار بگیرید. (به جای my_textField نام فیلد متنی مورد نظرتان را بنویسید)


    کد (Text):
    my_textField.addEventListener(KeyboardEvent.KEY_DOWN, onEnterDown, true);


    4- در نهایت تابع onEnterDown را به صورت زیر تعریف کنید.


    کد (Text):
    function onEnterDown(e:KeyboardEvent):void {
    if (e.keyCode == Keyboard.ENTER || e.keyCode == Keyboard.NUMPAD_ENTER) {
    trace(“Submit”);
    }
    }


    در این تابع:

    • به وسیله دستور if کلیدهای ENTER و NUMPAD_ENTER از سایر کلیدها متمایز می شود.
    • بعد از فشردن کلیدهای Enter دستور trace اجرا می شود.
    http://flashcenter.ir/?p=336
     
    نوشته شده توسط yaa110 در ‏9 می 2011
    armanbm، ++Hadi++، smmousazadeh و 2 نفر دیگر از این ارسال تشکر کرده اند.

به اشتراک بگذارید