{"product_id":"foldable-keyboard-for-travel-full-size-with-number-pad-space-grey","title":"Foldable Keyboard for Travel, Full Size with Number Pad, Space Grey","description":"\u003cdiv class=\"a-section a-spacing-large bucket\"\u003e\u003chr noshade size=\"1\" class=\"bucketDivider\"\u003e\u003c\/div\u003e\n\u003cstyle\u003e\n    .aplus-v2 .aplus-content-wrapper {\n        position: relative;\n        overflow: hidden;\n    }\n\n    .aplus-v2 .container-with-background-image {\n        width: 100%;\n        height: 100%;\n        background-repeat: no-repeat;\n        background-size: cover;\n    }\n\n    .aplus-v2 .aplus-module-csa-wrapper {\n        display: flow-root;\n    }\n\u003c\/style\u003e\n\u003cdiv id=\"aplus\" class=\"a-section a-spacing-large bucket\"\u003e\n\u003cscript type=\"application\/javascript\"\u003e\n    function logShoppableMetrics(moduleName, showsAddToCart) {\n        if (window.ue \u0026amp;\u0026amp; window.ue.count) {\n            window.ue.count(\"aplus:shoppable:\" + moduleName + \":addToCart\", showsAddToCart ? 1 : 0);\n        }\n    }\n\u003c\/script\u003e\n\u003ch2\u003eProduct description\u003c\/h2\u003e\n\u003cdiv lang=\"en_US\"\u003e\n\u003cdiv class=\"aplus-v2 desktop celwidget\"\u003e\n\u003cscript type=\"application\/javascript\"\u003e\n\n    \/**\n     * Common event handler for click and keydown events.\n     * @param {Event} event - The event object.\n     * @param {Function} handleClickOrEnter - Function to handle click or Enter key events.\n     * @param {Function} handleEsc - Function to handle Esc key events.\n     *\/\n    \/\/ [TODO][AplusMantle-8064] Create common event handler util(key events, click events) in AplusModuleResources\n    function handleClickAndKeyEvents(event, handleClickOrEnterOrSpace) {\n        const ENTER_KEY_CODE = 13;\n        const ESCAPE_KEY_CODE = 27;\n        const SPACE_KEY_CODE = 32;\n        const isClick = event.type === 'click';\n        const isKeydown = event.type === 'keydown';\n        const isEnter = isKeydown \u0026amp;\u0026amp; event.keyCode === ENTER_KEY_CODE;\n        const isSpace = isKeydown \u0026amp;\u0026amp; event.keyCode === SPACE_KEY_CODE;\n        const isEsc = isKeydown \u0026amp;\u0026amp; event.keyCode === ESCAPE_KEY_CODE;\n\n        if (isClick || isEnter || isSpace) {\n            handleClickOrEnterOrSpace();\n        } else if (isEsc) {\n            handleEsc(event);\n        }\n    }\n\n    \/**\n    * Function to handle esc key event.\n    * @param {Event} event - The event object.\n    *\/\n    function handleEsc(event) {\n        event.target.blur()  \/\/ force remove focus\n    }\n\n\u003c\/script\u003e\n\u003cdiv class=\"aplus-content-wrapper\"\u003e\n\u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-content-id=\"amzn1.aplus.2a1e96f0-664e-48d4-b178-c90607b7f58d:1767952562056.b2ed7b14-8b47-4a8b-b86e-1c3f63ffc572.en_US\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg alt=\"foldable keyboard\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/cbfb51d3-de40-4b92-9f1b-971086943ac4.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-content-id=\"amzn1.aplus.2a1e96f0-664e-48d4-b178-c90607b7f58d:1767952562056.cec84b47-9fab-40a9-a86d-4ed3ef672fb3.en_US\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-11-faq aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-11\"\u003e\n\u003cdiv data-faq-block=\"1\" class=\"a-section a-spacing-none aplus-container-2 faqs-container 1\"\u003e\n\u003cul class=\"faq-list\"\u003e\n\u003cli id=\"faq-qa-pair-0\" class=\"faq-block\"\u003e\n\u003cp class=\"aplus-question aplus-p1\"\u003eDoes this keyboard support multiple devices connected simultaneously? How do I switch between them?\u003c\/p\u003e\n\u003cp class=\"aplus-answer aplus-p2\"\u003eYes, it is support 3 devices work together. You only need to click the BT1\/BT2\/BT3 button to switch to the corresponding device.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli id=\"faq-qa-pair-1\" class=\"faq-block\"\u003e\n\u003cp class=\"aplus-question aplus-p1\"\u003eWhat is it compatible with?\u003c\/p\u003e\n\u003cp class=\"aplus-answer aplus-p2\"\u003eThis keyboard is Compatible with 4 Systems, please press FN+Q\/W\/E\/R to switch the required system before use (IMPORTANT NOTE: “FN+Q” is for iOS , “FN+W” is for Android, “FN+E” is for Windows,“FN+R” is for Mac )\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli id=\"faq-qa-pair-2\" class=\"faq-block\"\u003e\n\u003cp class=\"aplus-question aplus-p1\"\u003eIs this keyboard truly portable? What is its weight?\u003c\/p\u003e\n\u003cp class=\"aplus-answer aplus-p2\"\u003eYes, this keyboard is smaller and lighter than many other keyboards. These are the dimensions of this keyboard:\u003c\/p\u003e\n\u003cp class=\"aplus-answer aplus-p2\"\u003eOpen Dimensions: 13.46 x 4.52 x 0.78 inch\u003c\/p\u003e\n\u003cp class=\"aplus-answer aplus-p2\"\u003eFolding Dimensions: 7.24 x 4.52 x 0.43 inch\u003c\/p\u003e\n\u003cp class=\"aplus-answer aplus-p2\"\u003eWeight: 9.38 oz (266 g)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli id=\"faq-qa-pair-3\" class=\"faq-block\"\u003e\n\u003cp class=\"aplus-question aplus-p1\"\u003eThe numerical keypad on this keyboard is not working? It's not Responding, what should I do?\u003c\/p\u003e\n\u003cp class=\"aplus-answer aplus-p2\"\u003eIf the numeric keypad is not working, you can try pressing the \"Num Lock\" key in the upper right corner to unlock it, after which the numeric keypad will work normally.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli id=\"faq-qa-pair-4\" class=\"faq-block\"\u003e\n\u003cp class=\"aplus-question aplus-p1\"\u003eThis Bluetooth keyboard suddenly won't connect to my device, how can I resolve this?\u003c\/p\u003e\n\u003cp class=\"aplus-answer aplus-p2\"\u003eDon't worry, please try the following:\u003c\/p\u003e\n\u003cp class=\"aplus-answer aplus-p2\"\u003e1. This could be caused by a low keyboard battery. Please fully charge the keyboard and try reconnecting it\u003c\/p\u003e\n\u003cp class=\"aplus-answer aplus-p2\"\u003e2. If the issue persists, remove the keyboard from the device and reconnect it according to the manual\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-content-id=\"amzn1.aplus.2a1e96f0-664e-48d4-b178-c90607b7f58d:1767952562056.fb0b321a-7460-4901-98e5-035fbfd6e81f.en_US\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg alt=\"folding bluetooth keyboard\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/d5984802-c0ef-4226-9127-f9125c6656c4.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-content-id=\"amzn1.aplus.2a1e96f0-664e-48d4-b178-c90607b7f58d:1767952562056.bf1f36ff-a0f3-4942-862b-52de77382235.en_US\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg alt=\"bluetooth keyboard\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/b31ddb11-4e01-48e4-9e0a-99a8af240f18.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-content-id=\"amzn1.aplus.2a1e96f0-664e-48d4-b178-c90607b7f58d:1767952562056.6449c0c6-f8ff-47ae-ada0-38f3daef26be.en_US\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg alt=\"foldable bluetooth keyboard\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/2bf2407b-c725-448b-a481-f84c69ae9d57.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-content-id=\"amzn1.aplus.2a1e96f0-664e-48d4-b178-c90607b7f58d:1767952562056.b57857bd-3f03-4540-97d1-752406442c49.en_US\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-2-fullbackground-image aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-2\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-background-wrapper\"\u003e\n\u003cdiv class=\"a-section a-spacing-none background-image\"\u003e\u003cimg alt=\"travel keyboard\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/8fa2e570-6e13-4287-9daf-197f1b90dc01.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aplus-module-csa-wrapper\" data-csa-c-type=\"widget\" data-csa-c-content-id=\"amzn1.aplus.2a1e96f0-664e-48d4-b178-c90607b7f58d:1767952562056.9a14beff-3923-4091-a1c2-d2db81003fa8.en_US\"\u003e\n\u003cdiv class=\"celwidget aplus-module premium-module-13-carousel aplus-premium\"\u003e\n\u003cdiv class=\"a-section a-spacing-none premium-aplus premium-aplus-module-13\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-carousel-container\"\u003e\n\u003cdiv id=\"premium-aplus-13-carousel-6-id\" data-a-carousel-options='{\"peek_percentage\":0,\"minimum_gutter_width\":0,\"show_partial_next\":false,\"name\":\"premium-aplus-13-carousel-6\"}' data-a-display-strategy=\"single\" data-a-transition-strategy=\"slideCircular\" role=\"region\" class=\"a-begin a-carousel-container a-carousel-static a-carousel-display-single a-carousel-transition-slideCircular\"\u003e\n\u003cinput autocomplete=\"on\" type=\"hidden\" class=\"a-carousel-firstvisibleitem\"\u003e\n\u003cdiv class=\"a-row a-carousel-controls a-carousel-row a-carousel-has-buttons a-carousel-overlay-buttons a-carousel-rounded-buttons\"\u003e\n\u003cdiv class=\"a-carousel-row-inner\"\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-left\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-center\"\u003e\n\u003cdiv class=\"a-carousel-viewport\"\u003e\n\u003col class=\"a-carousel\" role=\"list\"\u003e\n\u003cli class=\"a-carousel-card aplus-carousel-element\"\u003e\n\u003cdiv id=\"premium-aplus-13-carousel-6-slide-0\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n\u003cdiv style=\"aspect-ratio: 1464 \/ 600; line-height: 0;\"\u003e\u003cimg alt=\"folding keyboard\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/f4819b32-e45e-4d06-a47e-f27a2e0a3de5.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli class=\"a-carousel-card aplus-carousel-element\"\u003e\n\u003cdiv id=\"premium-aplus-13-carousel-6-slide-1\"\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-card-image\"\u003e\n\u003cdiv style=\"aspect-ratio: 1464 \/ 600; line-height: 0;\"\u003e\u003cimg alt=\"bluetooth folding keyboard\" src=\"https:\/\/m.media-amazon.com\/images\/S\/aplus-media-library-service-media\/7a947d59-5f74-4af5-94ee-e1a5b3c4afa5.__CR0,0,1464,600_PT0_SX1464_V1___.jpg\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-carousel-col a-carousel-right\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan class=\"a-end aok-hidden\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-spacing-none aplus-pagination-wrapper\"\u003e\n\u003cscript\u003e\n\nP.now(\"premium-aplus-13-carousel-6\").execute(\"init-pagination-carousel\", function(init) {\n    if (init) {\n        return;\n    }\n    P.register(\"premium-aplus-13-carousel-6\", function() {\n        return function() {\n            P.when(\"A\", \"jQuery\", \"a-carousel-framework\", \"ready\").execute(\"paginate-carousel\", function (A, $, framework) {\n                const ENTER_KEY_CODE = 13;\n                const ESCAPE_KEY_CODE = 27;\n                const LEFT_ARROW_KEY = 37;\n                const RIGHT_ARROW_KEY = 39;\n                const HOME_KEY = 36;\n                const END_KEY = 35;\n\n                var moduleId = \"6\";\n                var carouselName = \"premium-aplus-13-carousel-6\";\n                var paginationAction = \"aplus-pagination-dot-action-\" + moduleId + \"-\" + carouselName;\n                var paginationGroup = \"#aplus-pagination-group-\" + moduleId + \"-\" + carouselName;\n\n                \/* If the carousel goes to a new page *\/\n                A.on(\"a:carousel:\"+carouselName+\":change:pageNumber\", function (data) {\n                    A.$(paginationGroup+\" .carousel-slider-circle\").removeClass(\"aplus-carousel-active\").attr('aria-selected', 'false').attr('tabindex', -1)\n                                    .eq(data.newValue - 1).addClass(\"aplus-carousel-active\").attr('aria-selected', 'true').attr('tabindex', 0);\n                });\n\n                function syncPaginationDotsWithCarouselPages(numPages) {\n                    const parentElement = document.querySelector(paginationGroup);\n                    if (parentElement \u0026amp;\u0026amp; parentElement.children) {\n                        const children = parentElement.children;\n                        for (let i = 0; i \u0026lt; children.length; i++) {\n                            if (i \u0026gt;= numPages) {\n                                \/\/ If number of dots \u0026gt; num of pages, we should hide other dots\n                                children[i].classList.add('aplus-pagination-dot--display-none');\n                            } else if (children[i].classList.contains('aplus-pagination-dot--display-none')) {\n                                \/\/ Reset display of dots if it was hidden before\n                                children[i].classList.remove('aplus-pagination-dot--display-none');\n                            }\n                        }\n                    }\n                }\n\n                framework.onInit(carouselName, function (carousel) {\n                    try {\n                        var totalPages = carousel.getAttr('totalPages');\n                        syncPaginationDotsWithCarouselPages(totalPages);\n                        \/* Resize event handler to re-calculate the pagination dots count based on orientation *\/\n                        window.addEventListener('resize', function() {\n                            carousel.resize();\n                            totalPages = carousel.getAttr('totalPages');\n                            syncPaginationDotsWithCarouselPages(totalPages);\n                        });\n\n                        A.declarative(paginationAction, 'click keydown', function(event){\n                            var isClick = event.type === 'click';\n                            var isKeydown = event.type === 'keydown';\n                            var isEnter = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === ENTER_KEY_CODE;\n                            var isEsc = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === ESCAPE_KEY_CODE;\n                            var isLeftArrow = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === LEFT_ARROW_KEY;\n                            var isRightArrow = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === RIGHT_ARROW_KEY;\n                            var isHome = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === HOME_KEY;\n                            var isEnd = isKeydown \u0026amp;\u0026amp; event.$event.keyCode === END_KEY;\n\n                            if (isClick || isEnter) {\n                                var data = event.data;\n                                carousel.gotoPage(data.page);\n                            } else if (isEsc) {\n                                event.$target.blur();\n                            } else if (isLeftArrow || isRightArrow || isHome || isEnd) {\n                                event.$event.preventDefault();\n                                const dots = A.$(paginationGroup + \" .carousel-slider-circle\");\n                                const currentIndex = dots.index(event.$target);\n                                let nextIndex;\n\n                                if (isLeftArrow) {\n                                    nextIndex = currentIndex \u0026gt; 0 ? currentIndex - 1 : dots.length - 1;\n                                } else if (isRightArrow) {\n                                    nextIndex = currentIndex \u0026lt; dots.length - 1 ? currentIndex + 1 : 0;\n                                } else if (isHome) {\n                                    nextIndex = 0;\n                                } else if (isEnd) {\n                                    nextIndex = dots.length - 1;\n                                }\n\n                                dots.eq(nextIndex).focus();\n                                carousel.gotoPage(nextIndex + 1);\n                            }\n                        });\n                    } catch (e) {\n                        P.log('Failed to init ' + carouselName + '. Error: ' + e.message, 'FATAL', 'AplusModuleResources');\n                    }\n                });\n            });\n        }\n    });\n});\n\u003c\/script\u003e\n\u003cdiv class=\"aplus-mantle aplus-module\"\u003e\n\u003cdiv class=\"aplus-carousel-nav\"\u003e\n\u003cul id=\"aplus-pagination-group-6-premium-aplus-13-carousel-6\" class=\"aplus-pagination-dots\" role=\"tablist\"\u003e\n\u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan class=\"a-declarative carousel-slider-circle aplus-display-inline-block aplus-carousel-active\" data-action=\"aplus-pagination-dot-action-6-premium-aplus-13-carousel-6\" data-aplus-pagination-dot-action-6-premium-aplus-13-carousel-6='{\"page\": 1}' role=\"tab\" tabindex=\"0\"\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"aplus-pagination-dot\"\u003e\u003cspan class=\"a-declarative carousel-slider-circle aplus-display-inline-block\" data-action=\"aplus-pagination-dot-action-6-premium-aplus-13-carousel-6\" data-aplus-pagination-dot-action-6-premium-aplus-13-carousel-6='{\"page\": 2}' role=\"tab\" tabindex=\"-1\"\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"a-section a-text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"我的商店","offers":[{"title":"Space Grey","offer_id":67982077591683,"sku":null,"price":85.77,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0799\/8085\/5427\/files\/71yUw7qShxL._AC_SL1500.jpg?v=1792562350","url":"https:\/\/valdexme-us.com\/products\/foldable-keyboard-for-travel-full-size-with-number-pad-space-grey","provider":"My Store","version":"1.0","type":"link"}