سلام
من اون قسمت آموزشي جديد كه مربوط به ساخت input هاييه كه ميشه توشون فارسي نوشت را ديدم. در مورد كدش يك چند تا سوال داشتم:
1- تابع storeCaret(textE)l كه اون بالا بالا تعريف شده در هيچ جا استفاده نميشه! اين تابع اصلا به چه درد ميخوره؟
2- در بالاي اون آرايه Unicode ها نوشته شده كه اين آرايه بر اساس ISIRI-2901 نوشته شده، آيا اين يك استاندارده؟ و اگر آره من از كجا ميتونم بيشتر در موردش بخونم؟ اصلا اون آرايه و عناصرش از كجا اومدن و از اين جور حرفا.
3- توابع FKeydown و FKeypress هر دو آرگومانهاي ورودي txtFrm را ميخوان كه اين آرگومانها هيچ جاي اين 2 تابع استفاده نشدند! اصلا چه لزومي داره كه اونها اونجا باشن؟! اگر هم دقت كني ميبيني كه اين تابع فقط روي event ها كار ميكنه و event يك شيئ مشتركه، يعني اينكه هيچ وقت نميشه در آن واحد در 2 تا input تايپ كرد! پس اين يك شيئي هست كه فقط به window برميگرده و فرزند هيچ شيي ديگه اي نيست، يعني هميشه ميگيم window.event و نه هيچ چيز ديگه. پس ميشه گفت كه هيچ نيازي به وارد كردن نام هر input نداري، چون كار خواصي روي اونها انجام نميدي.
4- در تابع FKeypress يك قسمتي هست به اين صورت:
if (key == 0x0020 && window.event.shiftKey)
window.event.keyCode = 0x200C;
من منظور از اين شرط را نميفهمم، ميشه لطفا يك كم در بارش توضيح بدين؟
5- در تابع FKeypress يك شرط اومده به اين صورت:
if (key == 13)
{
window.event.keyCode = 13; //This line is not necessary
return true;
}
من فكر ميكنم كه خط اول داخل if اضافه است و بدون اون هم هيچ مشكلي پيش نمي ياد! آيا درسته؟
يك مساله ديگه هم هست كه بد نيست گفته بشه: اين كدي كه نوشته شده خيلي قشنگه، مخصوصا اون آرايه Unicode ها، منتها اصلا از هيچ اصل OOP پيروي نشده و اين يعني اينكه كد شما فقط در مورد يك input عمل ميكنه و در صورتي كه نياز داشته باشيم در چند جا از اون استفاده كنيم به هيچ كاري نمي ياد، چون شما از يك متغير جهاني lang استفاده ميكني كه نميتونه به همه object ها جواب بده. براي اين چه فكري كردي؟
من اون قسمت آموزشي جديد كه مربوط به ساخت input هاييه كه ميشه توشون فارسي نوشت را ديدم. در مورد كدش يك چند تا سوال داشتم:
1- تابع storeCaret(textE)l كه اون بالا بالا تعريف شده در هيچ جا استفاده نميشه! اين تابع اصلا به چه درد ميخوره؟
2- در بالاي اون آرايه Unicode ها نوشته شده كه اين آرايه بر اساس ISIRI-2901 نوشته شده، آيا اين يك استاندارده؟ و اگر آره من از كجا ميتونم بيشتر در موردش بخونم؟ اصلا اون آرايه و عناصرش از كجا اومدن و از اين جور حرفا.
3- توابع FKeydown و FKeypress هر دو آرگومانهاي ورودي txtFrm را ميخوان كه اين آرگومانها هيچ جاي اين 2 تابع استفاده نشدند! اصلا چه لزومي داره كه اونها اونجا باشن؟! اگر هم دقت كني ميبيني كه اين تابع فقط روي event ها كار ميكنه و event يك شيئ مشتركه، يعني اينكه هيچ وقت نميشه در آن واحد در 2 تا input تايپ كرد! پس اين يك شيئي هست كه فقط به window برميگرده و فرزند هيچ شيي ديگه اي نيست، يعني هميشه ميگيم window.event و نه هيچ چيز ديگه. پس ميشه گفت كه هيچ نيازي به وارد كردن نام هر input نداري، چون كار خواصي روي اونها انجام نميدي.
4- در تابع FKeypress يك قسمتي هست به اين صورت:
if (key == 0x0020 && window.event.shiftKey)
window.event.keyCode = 0x200C;
من منظور از اين شرط را نميفهمم، ميشه لطفا يك كم در بارش توضيح بدين؟
5- در تابع FKeypress يك شرط اومده به اين صورت:
if (key == 13)
{
window.event.keyCode = 13; //This line is not necessary
return true;
}
من فكر ميكنم كه خط اول داخل if اضافه است و بدون اون هم هيچ مشكلي پيش نمي ياد! آيا درسته؟
يك مساله ديگه هم هست كه بد نيست گفته بشه: اين كدي كه نوشته شده خيلي قشنگه، مخصوصا اون آرايه Unicode ها، منتها اصلا از هيچ اصل OOP پيروي نشده و اين يعني اينكه كد شما فقط در مورد يك input عمل ميكنه و در صورتي كه نياز داشته باشيم در چند جا از اون استفاده كنيم به هيچ كاري نمي ياد، چون شما از يك متغير جهاني lang استفاده ميكني كه نميتونه به همه object ها جواب بده. براي اين چه فكري كردي؟