Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick
Enhanced Automatic Retractable Self-Defense Stick

Enhanced Automatic Retractable Self-Defense Stick

Price

$59.99 $39.99
Save $20.00
In stock

size

Please select a size

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);

As a gift for your friends and family,this Enhanced automatic retractable self-defense stick will be the perfect!

undefined

If you're looking for a very safe outdoor walking tool with a good easy grip, you'll love our automatic spring-loaded self-defense stick that provides you with a sense of security. You can use it on hikes or outdoor trips, or use it in your car, where its durable frame and compact design make it easy to carry and has a long life span.

undefined

Automatic pop-up with one click

Automatic spring self-defense stick press a key automatic eject function, refuse to open sluggish and laborious

undefined

Anti-slip handle

the design of the anti-slip handle for the handheld effectively increase friction, while the design of the anti-slip handle can also play a comfortable shock-absorbing effect, not easy to take off the hand.

undefined

Feature:

  • When push comes to shove, you need a personal protection weapon in your hands that you can really count on if you're under attack.
  • Selected alloy material for strength, toughness and corrosion resistance.
  • Small design, can be carried around, put away can be put in the bag, car.

How to use

To use, simply rotate open the safety latch, hold the handle with the stick end facing outward, and press the button.

undefined

Specifications

- Product size:39.5cm/52.5cm/65.5cm

- Product weight: 255/525/650g

- Body material: alloy steel

Package Contents.

1 x Enhanced automatic retractable self-defense stick

Notes

  • Due to manual measurements, please allow slight measurement deviations.
  • Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed in the picture.