أين تضع إجراءات jQuery للصفحات المحملة الخارجية بواسطة علامات تبويب واجهة المستخدم

StackOverflow https://stackoverflow.com/questions/2146356

سؤال

أتساءل أين يجب أن أحدد إجراءات jQuery الخاصة بي للصفحات المحملة خارجيًا بواسطة علامات تبويب واجهة المستخدم.

على سبيل المثال ، حصلت على صفحة index.html بما في ذلك 3 علامات تبويب. onClick كل علامة تبويب سيتم تحميل extern1.html ، extern2.html ، extern3.html. تحتاج هذه الصفحات الخارجية الثلاثة إلى العديد من الإجراءات jQuery (عمليات التحميل ، وأفعال onclick والمزيد).

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

عندما أضع كل رمز jQuery للصفحات الخارجية في الصفحة الخارجية نفسها ، فإنه سيؤدي إلى مشاكل (على ما أظن) ، لأنه عندما أقوم بتحميل علامة تبويب/صفحة خارجية عدة مرات ، فإنه سيتم تحميل رمز jQuery مرارًا وتكرارًا ، أليس كذلك؟

إذن ، أين يجب أن أضع رمز jQuery الخاص بي؟ (بعض الأمثلة؟)

شكرا جزيلا!

هل كانت مفيدة؟

المحلول

يمكنك وضع الرمز الخاص بك في معالج الأحداث المحمّل بهدوء:

$('.your-tabs-container').tabs({
   load: function(event, ui) { /* your code here */ }
});

أو:

$('.your-tabs-container').bind('tabsload', function(event, ui) {
  /* your code here */
});

في هذه الحالات ، وفقًا للوثائق ، يمكنك استرداد معلومات واجهة المستخدم اللازمة من ui جدال:

ui.tab     // anchor element of the selected (clicked) tab
ui.panel   // element, that contains the selected/clicked tab contents
ui.index   // zero-based index of the selected (clicked) tab

نصائح أخرى

ضع jQuery الخاص بك على الأم HTML واستخدمها .live() وظيفة لربط الأحداث التي تريدها. مستندات هنا.

يجب عليك فقط تضمين مكتبة jQuery مرة واحدة! على صفحة الفهرس الخاصة بك. على الصفحات الخارجية ، يجب عليك تضمين JavaScript المستخدمة في تلك الصفحة الخارجية الفردية:

فِهرِس:

  • تشمل مكتبة jQuery

خارجي 1:

  • وظائف jQuery ذات صلة بالصفحة الخارجية 1

خارجي 2:

  • وظائف jQuery ذات صلة بالصفحة الخارجية 2

هكذا سأفعل ذلك :-)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top