{"id":3005,"date":"2025-11-28T08:27:20","date_gmt":"2025-11-28T08:27:20","guid":{"rendered":"https:\/\/www.cmhahk.org\/cmha-hk-events\/"},"modified":"2026-05-05T07:24:00","modified_gmt":"2026-05-05T07:24:00","slug":"cmha-hk-events","status":"publish","type":"page","link":"https:\/\/www.cmhahk.org\/tc\/cmha-hk-events\/","title":{"rendered":"\u672c\u6703\u6d3b\u52d5"},"content":{"rendered":"\n<div block-name=\"cm-banner\" class=\"cm-banner relative\">\n    <img decoding=\"async\" src=\"https:\/\/www.cmhahk.org\/wp-content\/uploads\/2026\/03\/USED-second-image-1-scaled.png\" alt=\"\" class=\" aspect-[1920\/500] object-cover w-full sm:min-h-[400px] min-h-[500px] sm:block hidden\">\n    <img decoding=\"async\" src=\"https:\/\/www.cmhahk.org\/wp-content\/uploads\/2026\/03\/USED-second-image-1-scaled.png\" alt=\"\"\n                                class=\"aspect-[1920\/500] object-cover w-full sm:min-h-[400px] min-h-[500px] sm:hidden block\">\n    <div class=\"absolute left-0 top-0 w-full h-full bg-[linear-gradient(180deg,rgba(30,33,35,0)_0%,rgba(30,33,35,0.72)_100%)]\n\">\n\n    <\/div>\n    <div class=\"absolute bottom-0 left-0 w-full py-[60px]\">\n        <div class=\"container\">\n            <div class=\"container-sm\">\n                <h1 class=\"heading1 font-secondary font-bold text-white leading-[normal]\">\u672c\u6703\u6d3b\u52d5<\/h1>\n                <div class=\"mt-4 font-primary text-body font-normal leading-[160%] text-white\">\n                    <h3>\u4e86\u89e3\u66f4\u591a\u9999\u6e2f\u8077\u5834\u4e92\u52a9\u806f\u76df(\u524d\u7a31\u9999\u6e2f\u57ce\u5e02\u7cbe\u795e\u5065\u5eb7\u806f\u76df)\u8209\u8fa6\u7684\u6d3b\u52d5\u3002<\/h3>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<div block-name=\"cm-event-tabs\" class=\"md:pt-20 pt-[60px] md:pb-20 pb-10 bg-black\">\n    <div class=\"container\">\n        <div class=\"container-sm\">\n            <div class=\"w-full max-w-max overflow-x-auto mx-auto custom-scroll-box\">\n                <div class=\"mx-auto min-w-max bg-white md:py-3 py-2 px-3 rounded-[50px]\">\n                    <div class=\"grid grid-cols-3 md:gap-2 w-max\">\n                                                                                    <a href=\"https:\/\/www.cmhahk.org\/tc\/cmha-hk-events\/\"\n                                    class=\"text-body whitespace-nowrap leading-[160%] text-primary-button font-primary md:px-6 px-2 md:py-3 py-2 text-center block rounded-[50px]\n                                bg-brand-orange font-bold\">\n                                    \u672c\u6703\u6d3b\u52d5                                <\/a>\n                                                            <a href=\"https:\/\/www.cmhahk.org\/tc\/affiliated-events\/\"\n                                    class=\"text-body whitespace-nowrap leading-[160%] text-primary-button font-primary md:px-6 px-2 md:py-3 py-2 text-center block rounded-[50px]\n                                bg-white  font-normal hover:text-brand-orange\">\n                                    \u5408\u4f5c\u5925\u4f34\u6d3b\u52d5                                <\/a>\n                                                            <a href=\"https:\/\/www.cmhahk.org\/tc\/past-events\/\"\n                                    class=\"text-body whitespace-nowrap leading-[160%] text-primary-button font-primary md:px-6 px-2 md:py-3 py-2 text-center block rounded-[50px]\n                                bg-white  font-normal hover:text-brand-orange\">\n                                    \u904e\u5f80\u6d3b\u52d5                                <\/a>\n                                                                        <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n<\/div>\n\n\n<div block-name=\"cm-event-listing\" class=\"cm-event-listing md:pb-20 pb-[60px] bg-black\">\n    <div class=\"container\">\n        <div class=\"container-sm\">\n            <div>\n                <div class=\"flex md:flex-row flex-col md:justify-between md:items-center\">\n                                                    <div class=\"md:flex hidden items-center md:mb-0 mb-5\">\n            <label for=\"event-list-6a0f54616312d-filter\"\n                class=\"text-body font-primary text-brand-teal leading-[160%] mr-3 block whitespace-nowrap\">\u6d3b\u52d5\u985e\u5225:<\/label>\n            <div class=\"flex flex-wrap event-filter-bar\">\n                <div class=\" mr-3 last:mr-0 flex items-center relative text-body\">\n                    <input type=\"radio\" id=\"event-list-6a0f54616312d-all\" name=\"event-list-6a0f54616312d-filter\" value=\"all\"\n                         checked='checked'                        onchange=\"window.location.href='\/tc\/wp-json\/wp\/v2\/pages\/3005'\">\n                    <label for=\"event-list-6a0f54616312d-all\" class=\"inline-block ml-3\">\u5168\u90e8<\/label>\n                <\/div>\n                <div class=\" mr-3 last:mr-0 flex items-center relative text-body\">\n                    <input type=\"radio\" id=\"event-list-6a0f54616312d-member_only\" name=\"event-list-6a0f54616312d-filter\" value=\"member\"\n                                                onchange=\"window.location.href='\/tc\/wp-json\/wp\/v2\/pages\/3005?event_filter=member'\">\n                    <label for=\"event-list-6a0f54616312d-member_only\" class=\"inline-block ml-3\">\u53ea\u9650\u6703\u54e1\n<\/label>\n                <\/div>\n                <div class=\" mr-3 last:mr-0 flex items-center relative text-body\">\n                    <input type=\"radio\" id=\"event-list-6a0f54616312d-non_member\" name=\"event-list-6a0f54616312d-filter\" value=\"non-member\"\n                                                onchange=\"window.location.href='\/tc\/wp-json\/wp\/v2\/pages\/3005?event_filter=non-member'\">\n                    <label for=\"event-list-6a0f54616312d-non_member\" class=\"inline-block ml-3\">\u516c\u958b\u6d3b\u52d5<\/label>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"md:hidden flex items-center justify-end\">\n            <button class=\"event-mobile-filter-btn flex items-center\">\n                <h6 class=\"text-body font-normal leading-[160%] text-brand-teal font-primary mr-2 underline\">\n                    Filter <\/h6>\n                <img decoding=\"async\" src=\"https:\/\/www.cmhahk.org\/wp-content\/themes\/cmha-hk\/public\/images\/icons\/filter.svg\" alt=\"filter\" class=\"max-w-[16px]\">\n            <\/button>\n        <\/div>\n\n        <div class=\"fixed w-full h-full left-0 top-0 z-[13] bg-black_333 bg-opacity-60 md:hidden hidden event-filter-mobile-popup\">\n            <div class=\"absolute left-0 bottom-0 w-full h-full max-h-max bg-white rounded-xl rounded-bl-none rounded-br-none px-5 py-6\">\n                <div class=\"flex items-center justify-between\">\n                    <h6 class=\"heading6 font-bold leading-[160%] text-brand-teal font-secondary\">\n                        Filter <\/h6>\n                    <button class=\"close-btn\">\n                        <img decoding=\"async\" src=\"https:\/\/www.cmhahk.org\/wp-content\/themes\/cmha-hk\/public\/images\/icons\/close-black.svg\" alt=\"close\" class=\"max-w-[11px]\">\n                    <\/button>\n                <\/div>\n                <div class=\"event-filter-mobile\">\n                    <div class=\"flex flex-col md:mb-0 mb-5 mt-5\">\n                        <label for=\"event-list-6a0f54616312d-filter-mobile\"\n                            class=\"text-body font-primary text-brand-teal leading-[160%] mb-3 block whitespace-nowrap\">\u6d3b\u52d5\u985e\u5225:<\/label>\n                        <div class=\"flex flex-wrap event-filter-bar\">\n                            <div class=\" mr-3 last:mr-0 flex items-center relative text-body\">\n                                <input type=\"radio\" id=\"event-list-6a0f54616312d-all_mobile\" name=\"event-list-6a0f54616312d-filter-mobile\" value=\"all\"\n                                     checked='checked'                                    onchange=\"window.location.href='\/tc\/wp-json\/wp\/v2\/pages\/3005'\">\n                                <label for=\"event-list-6a0f54616312d-all_mobile\" class=\"inline-block ml-3\">\u5168\u90e8<\/label>\n                            <\/div>\n                            <div class=\" mr-3 last:mr-0 flex items-center relative text-body\">\n                                <input type=\"radio\" id=\"event-list-6a0f54616312d-member_only_mobile\" name=\"event-list-6a0f54616312d-filter-mobile\" value=\"member\"\n                                                                        onchange=\"window.location.href='\/tc\/wp-json\/wp\/v2\/pages\/3005?event_filter=member'\">\n                                <label for=\"event-list-6a0f54616312d-member_only_mobile\" class=\"inline-block ml-3\">\u53ea\u9650\u6703\u54e1\n<\/label>\n                            <\/div>\n                            <div class=\" mr-3 last:mr-0 flex items-center relative text-body\">\n                                <input type=\"radio\" id=\"event-list-6a0f54616312d-non_member_mobile\" name=\"event-list-6a0f54616312d-filter-mobile\" value=\"non-member\"\n                                                                        onchange=\"window.location.href='\/tc\/wp-json\/wp\/v2\/pages\/3005?event_filter=non-member'\">\n                                <label for=\"event-list-6a0f54616312d-non_member_mobile\" class=\"inline-block ml-3\">\u516c\u958b\u6d3b\u52d5<\/label>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div>\n                        <div class=\"flex flex-col\">\n                            <label for=\"event-list-6a0f54616312d-mobile-year\" class=\"block mb-3 text-brand-teal font-normal leading-[160%]\">\u5e74\u4efd<\/label>\n\n                            <form method=\"get\" action=\"\/tc\/wp-json\/wp\/v2\/pages\/3005\">\n                                                                <div x-data=\"{ open: false }\" class=\"relative w-full\">\n                                    <button type=\"button\" @click=\"open = !open\" class=\"w-full px-4 md:py-4 py-3 flex items-center justify-between rounded-lg border border-smoke-screen bg-white text-body font-primary text-text-black\">\n                                        <span class=\"truncate\">\u5e74\u4efd<\/span>\n                                        <span class=\"ml-2\">\n                                            <svg class=\"transform transition-transform\" :class=\"{ 'rotate-180': open }\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n                                                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 7L12 13L18 7L20 9L12 17L4 9L6 7Z\" fill=\"#868686\" \/>\n                                            <\/svg>\n                                        <\/span>\n                                    <\/button>\n\n                                    <div x-show=\"open\" x-cloak @click.away=\"open = false\" class=\"absolute bottom-full mb-2 left-0 w-full bg-white rounded-lg border border-grey-line max-h-64 overflow-auto shadow-[0_-10px_30px_0_rgba(165,165,165,0.32)] z-[15]\">\n                                        <label class=\"flex items-center px-4 py-2 gap-3 cursor-pointer hover:bg-neutral-100 relative custom-filter-checkbox\">\n                                            <input type=\"checkbox\"\n                                                class=\"w-5 h-5 min-w-5 aspect-square border-black-medium rounded opacity-0 absolute event-year-all\"\n                                                                                                onclick=\"event.stopPropagation();\"\n                                                onchange=\"window.cmEventYearFilterHandleChange &#038;&#038; window.cmEventYearFilterHandleChange(this)\" \/>\n                                            <span class=\"relative w-5 h-5 before:absolute before:left-0 before:top-0 before:w-5 before:h-5 before:border before:border-black-medium before:rounded after:absolute after:left-0 after:top-0 after:w-5 after:h-5\"><\/span>\n                                            <span class=\"text-body font-primary text-text-black leading-[160%] font-normal\">\u5168\u90e8<\/span>\n                                        <\/label>\n\n                                                                            <\/div>\n                                <\/div>\n                            <\/form>\n                        <\/div>\n                        <button id=\"event-filter-apply-btn\" class=\"close-btn mt-5 text-button-lg px-5 py-3 rounded-lg bg-brand-orange text-black_333 font-bold leading-[normal] text-center w-full\">Close <\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n                                                                            <form method=\"get\" action=\"\/tc\/wp-json\/wp\/v2\/pages\/3005\" class=\"md:flex hidden items-center relative z-10\">\n            \n            <label for=\"event-list-6a0f54616312d-year\" class=\"block mr-3 text-brand-teal font-normal leading-[160%] whitespace-nowrap\">\u5e74\u4efd<\/label>\n\n            <div x-data=\"{ open: false }\" class=\"relative min-w-[200px]\">\n                <button type=\"button\" @click=\"open = !open\" class=\"w-full px-4 md:py-4 py-3 flex items-center justify-between rounded-lg border border-smoke-screen bg-white text-body font-primary text-text-black\">\n                    <span class=\"truncate\">\u5e74\u4efd<\/span>\n                    <span class=\"ml-2\">\n                        <svg class=\"transform transition-transform\" :class=\"{ 'rotate-180': open }\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n                            <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6 7L12 13L18 7L20 9L12 17L4 9L6 7Z\" fill=\"#868686\" \/>\n                        <\/svg>\n                    <\/span>\n                <\/button>\n\n                <div x-show=\"open\" x-cloak @click.away=\"open = false\" class=\"absolute z-10 mt-2 w-full bg-white rounded-lg border border-grey-line max-h-64 overflow-auto shadow-[0_20px_30px_0_rgba(165,165,165,0.32)]\">\n                    <label class=\"flex items-center px-4 py-2 gap-3 cursor-pointer hover:bg-neutral-100 relative custom-filter-checkbox\">\n                        <input type=\"checkbox\"\n                            class=\"w-5 h-5 min-w-5 aspect-square border-black-medium rounded opacity-0 absolute event-year-all\"\n                                                        onclick=\"event.stopPropagation();\"\n                            onchange=\"window.cmEventYearFilterHandleChange &#038;&#038; window.cmEventYearFilterHandleChange(this)\" \/>\n                        <span class=\"relative w-5 h-5 before:absolute before:left-0 before:top-0 before:w-5 before:h-5 before:border before:border-black-medium before:rounded after:absolute after:left-0 after:top-0 after:w-5 after:h-5\"><\/span>\n                        <span class=\"text-body font-primary text-text-black leading-[160%] font-normal\">\u5168\u90e8<\/span>\n                    <\/label>\n\n                                    <\/div>\n            <\/div>\n        <\/form>\n\n        <script>\n            window.cmEventYearFilterHandleChange = window.cmEventYearFilterHandleChange || function(changedEl) {\n                if (!changedEl || !changedEl.form) return;\n\n                var form = changedEl.form;\n                var allCheckbox = form.querySelector('.event-year-all');\n                var yearCheckboxes = Array.prototype.slice.call(form.querySelectorAll('.event-year-option'));\n\n                if (changedEl.classList.contains('event-year-all')) {\n                    var isAllChecked = changedEl.checked;\n                    yearCheckboxes.forEach(function(cb) {\n                        cb.checked = isAllChecked;\n                    });\n                } else {\n                    if (allCheckbox) {\n                        var everyYearIsChecked = yearCheckboxes.length > 0 && yearCheckboxes.every(function(cb) {\n                            return cb.checked;\n                        });\n                        allCheckbox.checked = everyYearIsChecked;\n                    }\n                }\n                form.submit();\n            };\n        <\/script>\n                                    <\/div>\n                <div class=\"md:mt-20 mt-10\">\n                                            <div class=\"max-w-[450px] mx-auto event-empty-layout py-10\">\n                            <img decoding=\"async\" src=\"https:\/\/www.cmhahk.org\/wp-content\/themes\/cmha-hk\/public\/images\/icons\/event-empty.svg\"\n                                alt=\"empty\" class=\"aspect-[400\/247] w-full object-cover mx-auto max-w-[400px]\" \/>\n                            <div\n                                class=\"mt-10 heading4 font-secondary text-center text-brand-teal font-bold leading-[normal]\">\n                                \u6211\u5011\u5373\u5c07\u767c\u5e03\u66f4\u591a\u65b0\u6d3b\u52d5\uff0c\u8acb\u5bc6\u5207\u7559\u610f\uff01                            <\/div>\n                        <\/div>\n                                    <\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n\n<\/div>\n<div class=\"fixed w-full h-full top-0 left-0 z-[13] bg-[#000] bg-opacity-65 member-access-popup hidden\">\n    <div class=\"absolute bg-white left-1\/2 top-1\/2 -translate-x-1\/2 -translate-y-1\/2 w-full rounded-[20px] rounded-tr-none\n    md:max-w-[673px] max-w-[85%]\">\n        <div class=\"md:px-[60px] md:py-[60px] sm:px-10 sm:py-10 px-5 py-9\">\n            <button class=\"absolute sm:right-5 right-3 sm:top-5 top-3 z-[2] close-btn\">\n                <img decoding=\"async\" src=\"https:\/\/www.cmhahk.org\/wp-content\/themes\/cmha-hk\/public\/images\/icons\/close-black.svg\"\n                    alt=\"close\" class=\"\">\n            <\/button>\n            <div class=\"heading4 font-bold leading-[normal] text-black_333 text-center\">\n                \u9700\u8981\u6703\u54e1\u767b\u5165\uff01            <\/div>\n            <div class=\"md:mt-10 mt-5 text-body-lg text-center font-normal leading-[160%] text-text-black\">\n                \u6b64\u9801\u9762\u53ea\u4f9b\u6703\u54e1\u4f7f\u7528\u3002\u8acb\u5148\u767b\u5165\u5e33\u6236\uff0c\u4ee5\u7e7c\u7e8c\u4e26\u700f\u89bd\u5c08\u5c6c\u5167\u5bb9\u3002            <\/div>\n            <div class=\"lg:mt-10 mt-5 grid sm:grid-cols-2 lg:gap-10 md:gap-5 gap-3\">\n                <button\n                    class=\"close-btn md:px-5 px-3 py-[11px] bg-white hover:bg-black border border-black-medium rounded-lg rounded-tr-none text-body-lg font-bold text-black-text-medium text-center leading-[normal]\">\n                    \u53d6\u6d88                <\/button>\n                <a href=\"https:\/\/www.cmhahk.org\/tc\/login\/\"\n                    class=\"arrow-button md:px-5 px-3 py-3 bg-brand-orange rounded-lg rounded-tr-none text-body-lg font-bold text-primary-button text-center leading-[normal]\">\n                    \u524d\u5f80\u767b\u5165\u9801\u9762                <\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n    document.addEventListener('DOMContentLoaded', function () {\n        const memberOnlyEvents = document.querySelectorAll('.member-only-event');\n        const popup = document.querySelector('.member-access-popup');\n        const closeButtons = document.querySelectorAll('.close-btn');\n        const isUserLoggedIn = false;\n\n        \/\/ Handle member-only event clicks\n        memberOnlyEvents.forEach(function (eventCard) {\n            eventCard.addEventListener('click', function (e) {\n                if (!isUserLoggedIn) {\n                    e.preventDefault();\n                    if (popup) {\n                        popup.classList.remove('hidden');\n                    }\n                }\n            });\n        });\n\n        \/\/ Close popup handlers\n        closeButtons.forEach(function (button) {\n            button.addEventListener('click', function () {\n                if (popup) {\n                    popup.classList.add('hidden');\n                }\n            });\n        });\n\n        \/\/ Close popup when clicking outside\n        if (popup) {\n            popup.addEventListener('click', function (e) {\n                if (e.target === popup) {\n                    popup.classList.add('hidden');\n                }\n            });\n        }\n    });\n<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-3005","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.cmhahk.org\/tc\/wp-json\/wp\/v2\/pages\/3005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cmhahk.org\/tc\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.cmhahk.org\/tc\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.cmhahk.org\/tc\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cmhahk.org\/tc\/wp-json\/wp\/v2\/comments?post=3005"}],"version-history":[{"count":8,"href":"https:\/\/www.cmhahk.org\/tc\/wp-json\/wp\/v2\/pages\/3005\/revisions"}],"predecessor-version":[{"id":6939,"href":"https:\/\/www.cmhahk.org\/tc\/wp-json\/wp\/v2\/pages\/3005\/revisions\/6939"}],"wp:attachment":[{"href":"https:\/\/www.cmhahk.org\/tc\/wp-json\/wp\/v2\/media?parent=3005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}