自定义鼠标提示

做本次实验用的ie6和firefox2.0.0.17

<html>
 <head>
  <script type="text/javascript">
   function showTip(oEvent){
    var oDiv = document.getElementById("divTip1");
    oDiv.style.visibility = "visible";
    oDiv.style.left = oEvent.clientX+5;
    oDiv.style.top = oEvent.clientY+5;
   }
   function hideTip(oEvent){
    var oDiv = document.getElementById("divTip1");
    oDiv.style.visibility = "hidden";
   }
  </script>
 </head>
 <body>
  <img src="http://www.baidu.com/img/baidu_logo.gif" alt="百度的logo" title="this is baidu's logo"></img>
  <p title="this is a paragraph!">Move your mouse over the red square.</P>
  <div id="div1" style="background-color:red;height:50px;width:50px" οnmοuseοver="showTip(event)" οnmοuseοut="hideTip(event)"></div>
  <div id="divTip1" style="background-color:yellow;position:absolute;visibility:hidden;padding:5px">
   <span style="font-weight:bold">Custom Tooltip</span><br />
   More details can go here.
  </div>
</body>
</html>

1.元素的title标签表示的是鼠标悬停在element上的时候要显示的提示文本(如上面的img和p元素中的title属性)

2.另外本文主要是要说明利用div+css来实现更加复杂的鼠标提示,当鼠标在div1上发生mouseover事件的时候,调用 showTip方法

,把div1的提示divTip1的可见属性设置为visible,并定位divTip1在鼠标位置的右下方个5px,当mouseout的时候,divTip1将被设置为hidden,从而实现了自定义的复杂的鼠标提示。

3.注意如果在divTip1的style中设置height和width属性,那么当提示内容超出给div能够显示的范围,IE中将自动扩大该div的height,并使用divTip1的css,在firefox中也是延伸了块的height但是延伸的部分将不具有divTip1的css,一次在此类div中最好不要设置height和width,或者只设置两者中的一个,以达到跨浏览器的目的

4.img中src和title的区别:alt是在图片无法加载或者查看工具不支持图片是所作出的提示,title是鼠标悬停在img上是的提示

5.在div的块级元素的前后都将输出一个换行字符,而span则是行级元素,不会有换行操作

6.注意在事件处理函数中仍然是window得到事件的方法,只是在实际函数调用时使用了event,event是window的属性,而在使用window的属性时可以省略window

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Qt中,可以通过自定义控件的鼠标事件来实现对鼠标操作的响应。下面是一般的步骤: 1. 继承QWidget或QAbstractButton等基类,创建自定义控件类。 2. 重写自定义控件类的鼠标事件处理函数,如mousePressEvent、mouseReleaseEvent、mouseMoveEvent等。 3. 在重写的鼠标事件处理函数中,根据需要实现相应的功能逻辑。 例如,如果你想在自定义控件上实现鼠标点击事件的响应,可以按照以下步骤进行: 1. 创建一个继承自QWidget的自定义控件类,例如MyWidget。 2. 在MyWidget类中重写mousePressEvent函数,该函数会在鼠标按下时被调用。 3. 在mousePressEvent函数中实现你想要的功能,比如显示一个提示框或改变控件的状态等。 下面是一个简单的示例代码: ```cpp #include <QWidget> #include <QMouseEvent> class MyWidget : public QWidget { Q_OBJECT public: MyWidget(QWidget *parent = nullptr) : QWidget(parent) {} protected: void mousePressEvent(QMouseEvent *event) override { if (event->button() == Qt::LeftButton) { // 左键点击事件处理逻辑 // 例如显示一个提示框 qDebug() << "Left button pressed!"; } // 调用父类的事件处理函数,保证其他事件正常处理 QWidget::mousePressEvent(event); } }; ``` 在上述示例中,我们重写了MyWidget类的mousePressEvent函数,并在函数中判断鼠标按下的按钮是否为左键,如果是则输出一条调试信息。同时,我们还调用了父类的mousePressEvent函数,以确保其他事件的正常处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值