لقد استخدمت مؤخرًا Jquery أثناء العمل في مشروع ما. واجه المبتدئون بعض المشكلات "الغريبة" (أيها السادة، لا تلوموني).
شكرًا للسيد ClassYuan على دعمه لمدونة ClassYuan http://www.classyuan.com/.
1. عند تحميل حدث باستخدام عنصر HTML، سيتم تنفيذ الحدث في نفس وقت التحميل.
رمز الخطأ:
عرض المصدر
PRint?1 $("#btnLoad").bind("click",GetProduct());
الكود الصحيح
عرض المصدر
print?1 $("#btnLoad").bind("click", function() { GetProduct() });
في هذا الكود، تجاهلت طريقة الربط، وشرح واجهة برمجة التطبيقات هو bind(type,[data],fn).
أخطأت في اعتبار fn وظيفة بسيطة، ونتيجة لذلك، سينفذ هذا الرمز fn مرة واحدة عند التحميل.
هذه سهو في شكل الكتابة وآمل أن يقدم لي شخص يعرف السبب بعض النصائح.
2. مشكلة النطاق المتغير (يبدو أن هذه ليست مشكلة jquery. هذا هو الفرق بين js و.net..)
عرض المصدر
طباعة؟ 1 وظيفة النص () {
2 لـ (var i = 0; i < 3; i++) {
3 $("<a>حذف</a>").attr({ id: "hr_" + i, href: "javascript:;" }).addClass("btnCSS").bind("click"، وظيفة () { tes(i) }).appendTo(".div_list");
4}
5}
6 دالة اختبار (معرف) {
7 تنبيه (معرف) ؛
8}
هذه الوظيفة أريدها أن تنبه المعرف المقابل، والنتيجة هي أن الإجابة مقبولة للغاية، وهي دالة تحتوي على 3 علامات <a>، وتكون دائمًا 3..
بعد النظر إليه...فهمت
فيما يتعلق بمشكلة النطاق المتغير، فإن المعلمة التي تم تمريرها إلى الدالة tes هي قيمة i بعد انتهاء الحلقة، لذا فإن جميعها 3.
يبدو أن هذا مختلف عن .net.
أخيرًا، الحل - -.. فقط قم بتمرير $(this) للداخل
3. مشاكل في ترتيب تنفيذ الحدث
عرض المصدر
اطبع؟1 <a target="_blank" title="Iphone" >
2 <img id="proImg7_2" src="" alt="Iphone" style="width:70px; height:60px; border:none;"
3</أ>
يرتبط حدث onclick بهذه الصورة. محتوى الحدث هو إضافة سمة href إلى أصل العلامة <img>.
ولكن بعد تنفيذ الحدث، سينتقل مباشرةً إلى رابط العلامة. بعد التحليل.
يجب أن يتم تنفيذ النقرة قبل href، أي أنه عند النقر على الصورة، تكون العلامة A تحتوي بالفعل على href، ثم يتم تشغيل العلامة A في نفس الوقت.
الحل.. قم بإزالة الوسم الخارجي لـ <img>.. ثم قم بتعديل الحدث
عرض المصدر
print?1 idwrap(' <a href=" http://www.QQ.com"></a>' );
ما ورد أعلاه هو المشاكل التي واجهتها كمبتدئ عند استخدام jquery لأول مرة، وسأتركها هنا وأتعامل معها كعملية نمو، عزيزي المحاربين القدامى، لا تشتكي.