第12章[12.4] 鼠标移入移除时弹出和关闭窗口

这篇博客介绍了如何利用Ext JS框架实现鼠标移入某个区域时自动弹出窗口,以及在鼠标移出窗口时自动关闭窗口的功能。作者通过分析Ext JS组件的事件和DOM操作,提出了一种解决方案:在组件渲染后添加mouseover和mouseout事件,通过处理方法打开或关闭窗口,并对窗口进行定位。示例中展示了鼠标移到面板Header时弹出选择对话框,移出时关闭的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要实现功能的规格描述

  1. 鼠标进入某个区域时自动弹出一个新窗口,在该新窗口中可以做一些选择等功能
  2. 但鼠标离开新窗口时,自动关闭该新窗口。
    类似菁优网在组卷时选取教材版本和年级的功能,页面如下:
    在这里插入图片描述

框架实现思考

  1. Ext JS 的组件中,Button具备mouseover和mouseout的事件,其他的组件包含focus,blur获得或失去焦点的事件,但是没有鼠标移入和移除事件。
  2. HTML的标准元素包含mouseover、mouseout以及mouseleave等事件
  3. 任何Ext JS的组件都可以通过getEl() 方法获取该组件的DOM。故可以通过组件的DOM添加鼠标移入和移除事件处理

方案思路

  1. 在组件渲染完成后(afterrender事件),获取组件或子元素的DOM,给该DOM添加mouseover事件和处理的方法。
  2. 在处理方法中打开一个窗口,并给该窗口赋一个唯一的id, 在打开该窗口时判断,如果存在则打开,如果不存在则创建。
  3. 新窗口创建并显示之后,获取该窗口的DOM并添加鼠标移出事件和关闭窗口的处理方法。
  4. 新窗口的显示的位置可以通过获取组件的位置进行相对显示。<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oscar999

送以玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值