سؤال

أنا أستخدم jQuery TableSter Plugin لفرز جدول ، يعين .click () معالجات إلى <th>S في الجدول. نظرًا لأن طاولتي تحتوي على ألوان متناوبة لكل عمود ، فقد قمت ببناء بسيط fix_table_colors(identifier) الوظيفة التي يجب أن تفعل عندما أسميها يدويًا باستخدام Firebug. ومع ذلك ، أود أن أستدعي ذلك تلقائيًا بعد نوع ما.

للقيام بذلك ، قررت استرداد معالج .click () من <th>S ، وتعيين معالج جديد يدعو ببساطة المعالج السابق ، يليه fix_table_colors().

(هذه لذا فإن السؤال مشابه ، ولكنه يستخدم سمات OnClick () القياسية ، والتي لن تعمل هنا.)

من الإجابة المقبولة إلى هذا السؤال, ، لقد قمت بإنشاء الكود التالي:

$(document).ready(function() {
    $("table.torrents").tablesorter({
        debug: true,
        headers: {
            1: { sorter: 'name' },
            2: { sorter: 'peers' },
            3: { sorter: 'filesize' },
            4: { sorter: 'filesize' },
            5: { sorter: 'filesize' },
            6: { sorter: 'ratio' }
        }
    });

    $('table.torrents thead th').each(function() {
        var th = $(this);
        var clickHandler = th.data('events').click[0];
        th.click(function() {
            clickHandler();
            fix_table_colors('table.torrents');
        });
    });
});

في حين أن هذا صحيح من الناحية المفاهيمية ، clickHandler لا يبدو أنها في الواقع وظيفة ، ولذا لا يمكنني تسميتها.

مع المزيد من الحفر في Firebug ، وجدت أن Click [3] يبدو أنه يحمل الوظيفة التي أبحث عنها (وانقر فوق [10] بلدي الجديد). أحصل على خطأ "غير محدد" في السطر 2 من tableorTord.min.js عند استخدام ذلك ، على الرغم من.

هل أنا حتى أسير في الطريق الصحيح؟ لدي شعور بأنه مع ما وجدته حتى الآن ، يمكنني أن أجعل هذا العمل ، لكن سيكون أكثر قوعية مما كنت أتوقع أن يكون.

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

المحلول

ماذا عن الارتباط بـ sortend (http://tablesorter.com/docs/example-triggers.html) حدث مثل ذلك؟

$(document).ready(function() {
    $("table.torrents").tablesorter({
        debug: true,
        headers: {
            1: { sorter: 'name' },
            2: { sorter: 'peers' },
            3: { sorter: 'filesize' },
            4: { sorter: 'filesize' },
            5: { sorter: 'filesize' },
            6: { sorter: 'ratio' }
        }
    });

    $("table.torrents").bind("sortEnd",function() {
        fix_table_colors('table.torrents');
    });
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top