الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

press 2 key consecutivly function

مغلق
بدأه malek adnan في 25 يونيو 2007 · 4 رد · 1,456 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هي ثاني مرة أطلب فيها المساعدة :)

بدي أعمل javascript function استطيع من خلاله قراءة مفتاحين بشكل متتالي ضمن فترة زمنية أقل أو تسواي ثانية

يعني مثلا لو ضغط المستخدم مفاتح الdot " ز " مرتين خلال ثانية واحدة ينتقل لصفحة أو ينفذ أمر ما

أنا حاولت باستخدام setTimeout بس فشلت كل محاولاتي

أرجو المساعدة، ولو بالفكرة العامة للfunction

#2

السلام عليكم,

اعتقد ممكن :

- تسجل وقت كل click على الزر "." فى array

- تقارن وقت الـ click الجديدة مع السابقة لها

- إذا كان الفرق بينهم فى حدود ثانية واحدة او ثانيتين او صفر ثانية

--> يبقى المستخدم ضغط مرتين متتتاليتين فى وقت قصير

--> نفذ الى عايز تعمله كرد للحدث دة

--> قم بأفراغ محتوى الـ array

- إذا كان الفرق بينهم اكبر من المسموح

--> قم بتفريغ الـ array من القيم السابقة

--> اضف وقت الضغطة الجديدة فى الـ array

انا فضلت هنا استخدم array بسبب انها مرنة اكتر من استخدام متغير عادى يحفظ قيمة واحدة, لأن ممكن بعد كدة تحتاج تطبق حاجة تحتاج 3 ضغطات مثلا.

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#3

ستجري المحاولة إن شاء الله

وشكرا كثيرا على الأفكار القيمة :)

#4

جربت الطريقة ونجحت جزاك الله خير

بس عندي سؤال، في طريقة خلي بعض المفاتيح لا تطبع على الشاشة، يعني لما يضغط مفتاح الdot بدي إقرأ القيمة في الكود، بس ما بدي يطبع على الشاشة أي شي

جزاك الله عني كل خير

#5

السلام عليكم,

انا جربت اعمل حاجة كدة على FF و اشتغلت الحمد لله كالمتوقع بس انت جربها على IE, المتوقع حيبقى فى تعديل صغير فى جزئية الـ event .

<html>

<script>

window.onload = function () {
	var noDot = document.getElementById("noDot");

	noDot.onkeydown = function(event) {
		if(event.keyCode == 110)
			return false;
	}

}

</script>
<body>

<textarea id="noDot"></textarea>
<textarea id="normal"></textarea>
</body>
</html>

دلوقتى متقدرش تكتب "." داخل الـ textarea المسمى noDot , فى حين انك ممكن تكتبها عادى فى الـ textarea المسمى normal.

إذا كنت عايز تمنع كتابة الحرف "." فى الصفحة كلها , يبقى غير مكان الـ onkeydown event و خليه ينتمى لـ window.

window.onkeydown = function(event) {
		if(event.keyCode == 110)
			return false;
	}

----

ملحوظة: يفضل كتابة اﻷسئلة الجديدة فى موضوع منفصل لتسهيل الوصول اليها من قبل اﻷعضاء عند قيامهم بالبحث فى المنتدى :)

شاكرين تعاونكم

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

هذا الموضوع مغلق.

مواضيع مشابهة