علامات تبويب واجهة المستخدم jQuery ، أحداث تحديد/unslect (الانهيار)

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

سؤال

أنا أستخدم المكون الإضافي JQuery UI 1.8.5 Tabs ، مع انهيار: التكوين الحقيقي. أحتاج إلى استدعاء وظيفة بعد انهيار علامة تبويب لإضافة فئة CSS. لا أحد يعرف كيف؟

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

المحلول

يمكنك التحقق مما إذا كان ui-tabs-selected الفئة موجودة عند النقر. على افتراض أنك تستخدم الترميز القياسي:

// in your click event
var selected_exists = $('#yourTabBox')
    .children('ul.ui-tabs-nav')
    .children('li.ui-tabs-selected')
    .length;

if (selected_exists) {
    // Nothing is collapsed
} else {
    // collapsed
}

هذا مثالي ل select حدث.

نصائح أخرى

ماذا عن عرض الحدث لن تعمل من أجل هذا؟ لأنك لا تعرف أيهما كان مخفيًا؟

ربما حتى حدد الحدث قد يكون ما تريد.

باستخدام 'tabsselect' حدث:

$(".selector").tabs({
    collapsible: true,
    select: function(event, ui)
    {
         var prevSelectedIndex = $(".selector").tabs('option', 'selected');
         var nextSelectedIndex = ui.index;

         if(prevSelectedIndex === -1)
         {
             // It was previously collapsed and the user is now opening
             // tab at index: nextSelectedIndex 
         }
         else if(prevSelectedIndex === nextSelectedIndex )
         {
              // The user has clicked on the currently opened
              // tab and it is collapsing
         }
    }
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top