JavaScript 事件

什么是事件

JavaScript 是 基于对象 的语言。这与 Java 不同,Java 是 面向对象 的语言。

基于对象 的基本特征,就是采用 事件驱动

通常鼠标或热键的动作我们称之为 事件(Event),而由鼠标或热键引发的一连串程序的动作,称之为 事件驱动。对事件进行处理程序或函数,我们称之为 事件处理程序

二、事件处理程序

在某个事件发生的时候,执行特定的 JavaScript 代码(事件处理程序)。

比如点击页面的某个按钮这是一个很常见的事件,执行对应的事件处理程序,弹出提示小窗口,代码如下:

<html>
<head>
  <script>
    function click_button() {     // 事件处理程序,弹出提示窗
      alert('welcome to shiyanlou');
    }
  </script>
</head>

<body align="center">
  <br></br>
  <button onclick="click_button()">click me</button>  <!--发生事件 onclick 的时候,执行 click_button()-->
</body>
</html>

0401

三、常用事件

除了刚才提到的 onclick 事件,还有这些常用的事件:

  • onclick 单击
  • ondblclick 双击
  • onfocus 元素获得焦点
  • onblur 元素失去焦点

  • onmouseover 鼠标移到某元素之上
  • onmouseout 鼠标从某元素移开

  • onmousedown 鼠标按钮被按下
  • onmouseup 鼠标按键被松开

  • onkeydown 某个键盘按键被按下
  • onkeyup 某个键盘按键被松开
  • onkeypress 某个键盘按键被按下并松开

其中,onmouseover 和 onmouseout 事件可用于在鼠标移至 HTML 元素上和移出元素时触发函数。比如这一例子:

<html>
<head></head>

<body>
<div style="background-color:green;width:200px;height:50px;margin:20px;padding-top:10px;color:#ffffff;font-weight:bold;font-size:18px;text-align:center;"

onmouseover="this.innerHTML='good'"

onmouseout="this.innerHTML='you have moved out'"

>move your mouse to here</div>
</body>

</html>

鼠标移入时,显示“good”,鼠标移出时显示“you have moved out”:

0402

onmousedown, onmouseup 是鼠标 压下 和 松开 的事件。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件。举例说明:

<html>
<head>
  <script>

    function mDown(obj)    // 按下鼠标 的 事件处理程序
    {
    obj.style.backgroundColor="#1ec5e5";
    obj.innerHTML="release your mouse"
    }

    function mUp(obj)     // 松开鼠标 的 事件处理程序
    {
    obj.style.backgroundColor="green";
    obj.innerHTML="press here"
    }

  </script>
</head>

<body>
<div style="background-color:green;width:200px;height:35px;margin:20px;padding-top:20px;color:rgb(255,255,255);font-weight:bold;font-size:18px;text-align:center;"

onmousedown="mDown(this)"

onmouseup="mUp(this)"

>press here</div>
</body>

</html>

运行结果可见,按下鼠标时,显示“release your mouse”,背景变为蓝色;松开鼠标后,显示为“press here”,背景变为绿色。

0403


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值