حازم خالد » jQuery
يناير
29
2009
1

jQuery 1.3

فرق سرعة كبير بينها وبين 1.2.6، ويمكنك ملاحظته في بمجرد أستخدام بعض الأكواد التي تثقل المتصفح وستلاحظ سرعتها بأستخدامك 1.3

هناك حدثين رائعين جدد تم أضافتهم وهما live و die

live
عادتاً تقوم بوضع أكوادك حدث ready للـ document وبالتالي يتم تنفيز الأكواد للكائنات المتوادة بصفحتك الأن، وبالتالي إذا قمت بتكوين كائن جديد بالصفحة فهو لا يأخذ أي صفة من التي اعطتها له في السطر السابق، لأن لسطر السابق تم تنفيزه وبعدها تكون هذا العنصر، ولكن مع live فيمكنك أن عطي حدث لكل عنصر يتكون حتى بعد طلب اعطاء هذ الحدث.

يعني أيه !!
يعني أنت عادتاً بتكتب كودك هنا

1
2
3
$(document).ready(function($) {
	// هنا الكود
})

وبالتالي أنت بتقولو لما تنتهي من تحميل عرض كل عناصر الصفحة أبدأ بتنفيز الكود هذا، فإذا كان هناك كود يقوم بتوليد عناصر جديدة بالصفحة مثل هذا

1
2
3
4
5
6
7
$(document).ready(function($) {
	$('label:last input').keypress(function(){
		if ($('label:last input').val().length > 0){// لو أخر عنصر في هذه الحقول متوب فيه
			$('label:last input').after('<label><input name="data[]" type="text" /></label>'); // يقوم بتكوين حقل جديد فاضي بعدهم
		}
	})
})

وهو لو في مجموعة حقول وتريد إذا قام الزائر بالكتابة بهم ووصل لأخرهم وكتب به أن يقوم المتصفح بتكوين حقل جديد ليكتب به وكذلك كلما قام بملئ أخر حقل فيقوم بتكوين حقل جديد

المشكلة الان أن الحقل الجديد لن يأخذ الصفات المسجلة لغيره بأنه عند الكتابة به يقوم بمراجعة أخر حقل ولو مش خالي يتم تكوين حقل جديد، لان هذا الكود تم تنفيذه في $(document).ready وهو تكون بعدها !!، وهذا هو الكود الجديد بواسطة live

1
2
3
4
5
6
7
$(document).ready(function($) {
	$('label:last input').live('keypress', function(){
		if ($('label:last input').val().length > 0){// لو أخر عنصر في هذه الحقول متوب فيه
			$('label:last input').after('<label><input name="data[]" type="text" /></label>'); // يقوم بتكوين حقل جديد فاضي بعدهم
		}
	})
})

وهذه خاصية رائعة، كذلك هناك die وهي تقوم بالغاء حدث من كائن "removes a bound live event"

راجع live وأيضاً die

في JavaScript | الوسوم:,
نوفمبر
29
2008
2

دورة جافا سكريبت

بسم الله في أنشغالي وضغطتي قبل السفر أعطيت دورة جافا سكريبت أتكونت من حوالي 8 ساعات أو أكثر على يومين (يفضل أن لا تقل عن 15 ساعة).

الدورة لبعض موظفي مكتب شركة web.com.sa بالقاهرة،كانو 3 موظفين أحدهم مصمم (عند دراية كافية ببعض المفاهيم البرمجية وقدر ليس بالقليل من الكود) و 2 مبرمجين PHP.

وكان الهدف من الدورة هو الأطلاع على كيفية أستخدام jQuery للتعامل مع الـ Ajax والتأثيرات.

طبعاً كان من الطبيعي بعد المقدمة بالحديث عن ال Browser Engines الموجودة مثل Gecko, WebKit أن نتحدث عن عدم قياسية الجافا سكريبت و سعي مؤسسة ecma للأنتهاء من تطوير معايرها -التي من الواضح انها لن تنتهي منها- وكانت البداية من أول أساسيات الـ JavaScript ومن أول المتغيرات مروراً بالمصفوفات والدوال إلى أن أطلعنا على يعض ملامج الكائنات وبالأطلاع على بعض الكائنات مثل screen, document, window ….. etc وطبعاً بالتطبيق على بعض العمليات والأحداث Events .

أما بالنسبة للـ jQuery فكان من الطبيعي الحديث عن فائدة أستخدام مكتبة مساعدة في الأصل أشارة إلى أهم المكتبات الموجودة بداية YUI و Prototype إلى MooTools ثم البدئ في jQuery حيث أنها الأذكى والأقل كود بين هؤلاء.

يمكنك الأطلاع على فهرس الدورة هذه لعلها تفيدك لتكوين دورة مختصرة فيما بعد.



حازم خالد تعمل على ورد بريس المعرب | تصميم TheBuckmaker.com