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

yaa110

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


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


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


کد:
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;



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


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



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


کد:
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
 

جدیدترین ارسال ها

بالا