PDA

View Full Version : سوال: اجراي Ctrl + P



RoostaYeBekr
شنبه 23 خرداد 1388, 15:00 عصر
با سلام
من قبلا اين سوال رو اشتباهي در تالار ASP.NET مطرح كردم. چون شايد مربوط به ASP.NET نيست و مربوط به HTML يا javascript باشد ( به دليل اينكه يك جورايي به Browser مربوط مي شود )

فكر كنيد كه يك دكمه داريم . مي خوام وقتي روش كليك كردم ،‌دستور Ctrl + P اجرا بشه . ( منظور اينكه از صفحه ي وبمان ،‌ Print بگيره )

بعد يك كدي باشد كه در مورد تمام كليدهاي اين تيپي ،‌مثلا Ctrl + O يا Ctrl + N ،‌ صدق كند. ( منظورم اين است كه گاهي يك كد مي دهند كه از فلان كامپوننت ، پرينت بگيرد . خدا هم به خير بگذراند كه چند هزار تا اشكال خواهد داشت . بنابراين ، به نظرم بهتراست كه به جاي اينكه به اون كدهاي هزار خطي فكر كنيم ،‌به فكر استفاده از همين كدهايي باشيم كه همين كليدها را اجرا مي كنند)

لطف مي كنيد بگيد اين دستورشرو چطوري بايد بنويسم؟ مرسي.

emad_67
شنبه 23 خرداد 1388, 15:11 عصر
اینجا رو بخون:
http://www.scottklarr.com/topic/126/how-to-create-ctrl-key-shortcuts-in-javascript/

RoostaYeBekr
شنبه 23 خرداد 1388, 16:36 عصر
اینجا رو بخون:
http://www.scottklarr.com/topic/126/how-to-create-ctrl-key-shortcuts-in-javascript/

خيلي ممنون و متشكر
من در اين سايتي كه گفتيد ، نگاه كردم. ولي به نظرم مي آيد اكثر مطالبش روي اين قضيه است كه وقتي كليدي را مثل Ctrl + S مي فشاريم ، چطور مي توان تشخيص داد كه اين دو كليد فشرده شده.
ولي من دنبال اين هستم كه وقتي مثلا روي باتم HTML ي كه مثلا Text اش هست : دكمه ي پرينت ، وقتي روي اين دكمه كليك مي كنيم ، عمل پرينت يعني Ctrl + P اجرا شود.

RoostaYeBekr
شنبه 23 خرداد 1388, 16:52 عصر
اینجا رو بخون:
http://www.scottklarr.com/topic/126/how-to-create-ctrl-key-shortcuts-in-javascript/
البته ممكن است بگوئيد كه خوب در رويداد onclick مربوط به Button ات بنويس:


window.print();

ولي من يك چيزي مثل اين مي خوام :


document.getElementById('Button1').keyvalue = 'Ctrl + P';

البته اين كد بالا رو خودم الكي ساختم . مي خواستم منظورم رو بگم.

يا مثلا :


function m2()
{
window.event.keyCode = 91;
}

emad_67
شنبه 23 خرداد 1388, 22:33 عصر
من درست نفهمدیم آخر منظورت چیه؟
به غیر از پرینت یه مثال دیگه می تونی برنی؟
به هر حال برای اینکه بتونی ctrl + o و این چیزا رو بشناسی باید تابعی چیزی بنویسی دیگه که این دکمه ها رو شناسایی کنه، همین جوری که شناخته شده نیست.

RoostaYeBekr
یک شنبه 24 خرداد 1388, 09:23 صبح
من درست نفهمدیم آخر منظورت چیه؟
به غیر از پرینت یه مثال دیگه می تونی برنی؟
به هر حال برای اینکه بتونی ctrl + o و این چیزا رو بشناسی باید تابعی چیزی بنویسی دیگه که این دکمه ها رو شناسایی کنه، همین جوری که شناخته شده نیست.

سلام

ببين يكي اينكه من كد جاوااسكريپتي نمي خواهم كه مثلا هم در IE و هم در FireFox كار كند . همين كه در IE هم كار كند ، كفايت مي كند.

بعد اينكه گفتيد : تابع ، خوب درسته . ولي نه تابعي كه سمت سرور باشد . بلكه با جاوااسكريپت يا نهايتا با HTML باشد. ضمن اينكه من مطمئنم چنين تابعي ، وجود دارد و كد اصلي اين تابع ، بيش از يك خط و يا نهايتا دو خط نيست.

حالا صورت مسئله را يكبار ديگه مي گم :
روي Button مربوط به Print كليك مي كنيم . با استفاده از همين كد يك خطي ، كد اسكي Ctrl + P تشخيص داده شده و كادر Print باز مي شود.
يا يك جور ديگه :
روي Button مربوط به New Window كليك مي كنيم . با استفاده از همين كد يك خطي ، كد اسكي Ctrl + N تشخيص داده شده و صفحه ي جديدي باز مي شود.

به هر حال اگر باز هم منظورم را متوجه نشديد ، بگيد تا يك طور ديگه بگم.

emad_67
دوشنبه 25 خرداد 1388, 17:01 عصر
در مورد اینکه تو ie فقط کار کنه می تونی از execCommand استفاده کنی که بعضی از کارایی رو که می خوای انجام میده برات:
مثلا برای ctrl + o توی onclick دکمه بنویس:


document.execCommand('open');
برای ctrl+s


document.execCommand('saveAs');
یا ...
http://msdn.microsoft.com/en-us/library/ms533049(VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms533049%28VS.85%29.aspx)
البته بازم هم هر کاری رو فکر نکنم باهاش بتونی بکنی، مثلا ctrl+T رو که تب جدید باز می کنه یا بعضی موار دیگه.