如题 如何自定义按钮长按事件?
如按钮按住,注意是按住,是buttondown事件, 然后执行相关的处理
不是在buttonUP里检测按下到台起的时间
就像微信的发朋友圈那个按钮,按一下,问你是小视频还是图片,按住2-3秒,直接进入文本录入状态
ge人理解,按下事件中发起线程,线程检测按钮状态达到时间后开始执行特定动作,buttonup中通知线程结束动作
谢谢,
首先,分别在PressUp和PressDown事件分别定义各自的状态;
然后,在PressDown事件中使用线程在多长时间后去检测PressUp和PressDown各自的状态,判断是否满足长按的条件就OK了。
谢谢,
<button id="btn" value="Click">Click</button> <script type="text/javascript"> var btn = document.getElementById("btn"); var h; var isLongTouch = false; btn.onmousedown = function () { isLongTouch = false; h = setTimeout(function () { isLongTouch = true; console.warn("hello"); }, 5000); } btn.onclick = function () { if (isLongTouch === false) confirm("Ok or No?"); } btn.onmouseup = function () { if (h != null) { clearTimeout(h); } } </script>
试着写了下
谢谢,
在按下事件中处理,延迟一定时间后,开始执行你要做的事情。如果在这个延迟时间中触发了ButtonUp事件,那么就设置一个状态,让按下事件中的代码不在执行。
谢谢,
@韩之一: :)