Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
1/9
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
Multi-Device Foldable Bluetooth Keyboard with Touchpad
1/9

Multi-Device Foldable Bluetooth Keyboard with Touchpad

$68.99
$140.00
Save 51%
COLOR
Please select a color
Quantity
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

Introducing the Awireless Three Layer Folding Touchpad Keyboard. Easy and quick to connect via Bluetooth. Mini folding and lightweight shape design. Constructed with multi-function keys, powerful and useful (Touchpad and mini keyboard). High quality ABS key with raised design, to give you a comfortable and fast typing experience.

Foldable wireless bluetooth keyboard | Shopenzer, Inc.

  • Touchpad
  • Keyboard
  • Bluetooth
  • 140mAH
  • 63 Keys
  • Foldable
  • Scissor Switch
  • Ultra Slim
  • <15m Working Distance
  • Aluminium + ABS
  • USB Charge Cable

Compatible with Windows/Android/iOS & any Bluetooth enabled device or device with a Bluetooth dongle.

  • Smartphones
  • TV Boxes
  • Laptops
  • PC's
  • Tablets
  • Consoles
  • Smart TVs

🌎 Worldwide Shipping ✈  

Please do note that shipping is insured. However, you may receive your items earlier. Tracking Numbers will ALWAYS be sent so you can track it every step of the way! Cool things are worth waiting for! 😉

🔒 100% Risk-Free Purchase 🔥 

If you bought it and felt that it is not for you, don't worry. Just hit the Contact us button and send us a message, and we will make it right by offering you a replacement or refund. 100% Simple & Risk-Free process.

Our Warehouse

Please consider any holidays that might impact delivery times.Please consider the transportation methods and unexpected situations that may affect the delivery time.