怎么编写click事件的后悔药(关闭按钮点下后又不想关闭的代码怎么写)?

winzond 2018-03-15 12:35:13
我想实现的效果如windows窗口的关闭按钮一样,默认是一个图片,鼠标移上去图片有变化,鼠标点击下去图片再次变化,如果触发click事件就关闭,但偶尔鼠标已经点击下去了,发现不该关闭后悔了,只需要移动到关闭按钮外松开鼠标就可以了。其它几步已经实现了,但后悔这一步没实现,把鼠标拖到按钮放开鼠标,无法触发按钮的mouseup事件(使用alert测试过了,确实没激发),由于是点住鼠标拖到其它地方放开的,也没有激发按钮的mouseout事件。可能我的思路有问题,windows窗口关闭按钮,在鼠标移开还没松开之前已经恢复默认状态了,而我的是鼠标松开了也还保持在mousedown状态,这个代码该怎么写才能如愿?
...全文
462 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
winzond 2018-03-18
  • 打赏
  • 举报
回复
自己解决了,用a元素的伪类实现鼠标指向元素切换背景图片,鼠标按下再次切换背景图片,按下后拖动鼠标到其它地方松开不会触发click事件,同时a元素恢复默认状态
winzond 2018-03-15
  • 打赏
  • 举报
回复
引用 1 楼 wcwtitxu 的回复:
// element.onmousedown 的时候
element.setCapture ? element.setCapture() : window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);

//element.onmouseup 的时候
element.releaseCapture ? element.releaseCapture() : window.releaseEvents(Event.MOUSEMOVE|Event.MOUSEUP);
谢谢,确实是这个方法,奈何本身水平太低,且没百度出详细的案例,我如下写代码,运行不成功,能帮忙再看看吗?
$("#tab_t li a").on("mousedown", function () {
                $(this).setCapture(); 
            }).on("mouseup", function () {
                alert("松开鼠标成功!");
<a href="javascript:void(0)">  </a>
wcwtitxu 2018-03-15
  • 打赏
  • 举报
回复
// element.onmousedown 的时候
element.setCapture ? element.setCapture() : window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);

//element.onmouseup 的时候
element.releaseCapture ? element.releaseCapture() : window.releaseEvents(Event.MOUSEMOVE|Event.MOUSEUP);

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧