Client triggers control when WSX sends requests to the server. They provide sophisticated event handling with timing controls, conditions, and advanced patterns.
<!-- Throttle to maximum 1 request per 300ms --><input wx-send="search" wx-trigger="input throttle:300ms" /><!-- Throttle with different intervals --><input wx-send="search" wx-trigger="input throttle:1s" /><button wx-send="save" wx-trigger="click throttle:5s">Save</button>
<!-- Only when input has value --><input wx-send="search" wx-trigger="input[value]" /><!-- Only when checkbox is checked --><input type="checkbox" wx-send="toggle" wx-trigger="change[checked]" /><!-- Only when specific value --><select wx-send="premium-action" wx-trigger="change[value='premium']"> <option value="basic">Basic</option> <option value="premium">Premium</option></select>
<!-- Only when value changes --><input wx-send="changed-search" wx-trigger="blur changed" /><!-- Combine with other modifiers --><input wx-send="changed-search" wx-trigger="input changed throttle:300ms" />
<!-- Button can only be clicked once --><button wx-send="once-action" wx-trigger="click once">Click Once</button><!-- Input can only trigger once --><input wx-send="once-input" wx-trigger="input once" />
<!-- Trigger when element becomes visible --><div wx-send="visible-action" wx-trigger="intersect"> Trigger when visible</div><!-- Trigger when element is 50% visible --><div wx-send="half-visible" wx-trigger="intersect:0.5"> Trigger at 50% visibility</div>
<!-- Trigger when scrolled to bottom --><div wx-send="load-more" wx-trigger="scroll[bottom]"> Load more content</div><!-- Trigger when scrolled to top --><div wx-send="scroll-top" wx-trigger="scroll[top]"> Scroll to top action</div><!-- Trigger on any scroll --><div wx-send="scroll-action" wx-trigger="scroll"> Scroll action</div>
<!-- Multiple trigger events --><button wx-send="multi-action" wx-trigger="click, dblclick"> Click or Double Click</button><!-- Different triggers for same element --><input wx-send="search" wx-trigger="input throttle:300ms" wx-send-enter="full-search" wx-trigger-enter="keyup[Enter]"/>
<!-- Avoid: Using wrong timing for use case -->❌ <input wx-send="search" wx-trigger="input delay:2s" /><!-- Better: Use throttling for real-time feedback -->✅ <input wx-send="search" wx-trigger="input throttle:300ms" />