2020-09-28

开发工具与关键技术: MVC
作者:罗培发 ;年级:1903 ;撰写时间:2020 年 9 月26日
文献编号: 归档时间: 年 月 日

	jQuery事件 
开发工具与关键技术: MVC
作者:罗培发 
撰写时间:2020.9.26
一、$(document).ready(function(){})页面载入事件   js window.onload
   1. $(document).ready() 方法
当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。
          这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。
          简单地说,这个方法纯粹是对向window.load事件注册的替代方法。通过使用这个方法,
          可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数,而99.99%的JavaScript函数都需要在那一刻执行。

        注意:可以在同一个页面中无限次地使用$(document).ready()事件。
        其中注册的函数会按照(代码中的)先后顺序依次执行。
        参数说明:fn 要在DOM就绪时执行的函数
        在DOM加载完成时运行的代码,可以这样写:
        jQuery 代码:
        $(document).ready(function(){
            // 在这里写你的代码...
        });
        //简写形式
        $(function(){
            // 在这里写你的代码...
        })
二、jQuery 鼠标事件
1. click() 鼠标单击事件   // js onclick 
click单击事件
        $(".box").click(function () {
            alert("这是一个click单击事件被触发了")
        });
      2. dblclick() 鼠标双击事件 // js ondblclick
dblclick鼠标双击事件
        $(".box").dblclick(function () {
            alert("这是一个dblclick鼠标双击事件被触发了")
        });
      3. mousedown() 当鼠标指针移动到元素上方,并按下鼠标按键时,会发生mousedown事件
mousedown 鼠标移动到某个元素上被按下的时候触发的事件
        $(".box").mousedown(function () {
            alert("这是一个mousedown鼠标被按下的时候触发");
        });
      4. mouseup() 当在元素上放松鼠标按钮时,会发生 mouseup 事件。
 mouseup当在元素上放松鼠标按钮时
        $(".box").mouseup(function () {
            alert("这是一个mouseup当在元素上放松鼠标按钮时触发的事件");
        });
      5. mouseenter() 当鼠标指针穿过元素时,会发生mouseenter事件。该事件大多数时候会与mouseleave 事件一起使用。
mouseenter事件
        $(".box").mouseenter(function () {
            console.log("mouseenter");
        });
      6. mouseleave() 当鼠标指针离开元素时,会发生 mouseleave 事件。该事件大多数时候会与mouseenter 事件一起使用
mouseleave事件
        $(".box").mouseleave(function () {
            console.log("mouseleave");
        });
     7.mouseover() 当鼠标指针位于元素上方时,会发生 mouseover 事件。该事件大多数时候会与 mouseout 事件一起使用
mouseover事件
        $(".box").mouseover(function () {
            console.log("mouseover");
        });
      8.mouseout() 当鼠标指针从元素上移开时,发生 mouseout 事件。该事件大多数时候会与 mouseover 事件一起使用
Mouseout事件
        $(".box").mouseout(function () {
            console.log("mouseout");
        });
     9. mousemove() 当鼠标指针在指定的元素中移动时,就会发生 mousemove 事件。
        mousemove事件处理函数会被传递一个变量——事件对象,其.clientX 和 .clientY 属性代表鼠标的坐标

  注意!!!
         mouseover与mouseenter的区别:
            mouseover如果鼠标指针穿过选定元素的任何子元素,都会触发mouseover事件,
            mouseenter如果鼠标指针穿过选定元素的任何子元素不会触发mouseenter事件
            mouseout与mouseleave的区别:
            mouseout不论鼠标指针离开被选元素还是任何子元素,都会触发mouseout事件。
            mouseleave只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件
  简而言之:就是移动到选定元素的子元素上面是否触发事件
            mouseover  子元素 触发
            mouseenter 子元素 不触发
            mouseout   子元素 触发
            mouseleave 子元素 不触发
三、jQuery 表单事件
1. jQuery中的focus()获取焦点事件与blur()失去焦点事件(鼠标事件)
 focus() 事件
           当元素获得焦点时,触发focus事件。可以通过鼠标点击或者键盘上的TAB导航触发。这将触发所有绑定的focus函数
       blur() 事件
           当元素失去焦点时触发 blur 事件。
           这个函数会调用执行绑定到blur事件的所有函数,包括浏览器的默认行为。可以通过返回false来防止触发浏览器的默认行为。blur事件会在元素失去焦点的时候触发,既可以是鼠标行为,也可以是按tab键离开的
2. jQuery中的focusin()事件与focusout()事件
focusin() 事件
           当元素获得焦点时,触发 focusin 事件。
           focusin事件跟focus事件区别在于,他可以在父元素上检测子元素获取焦点的情况。
     focusout() 事件
          当元素失去焦点时触发 focusout 事件。
          focusout事件跟blur事件区别在于,他可以在父元素上检测子元素失去焦点的情况
3. jQuery中的表单事件 change()事件
<input>元素,<textarea>和<select>元素的值都是可以发生改变的,开发者可以通过change事件去监听这些改变的动作
      input元素
          监听value值的变化,当有改变时,失去焦点后触发change事件。对于单选按钮和复选框,当用户用鼠标做出选择时,该事件立即触发。
      select元素
          对于下拉选择框,当用户用鼠标作出选择时,该事件立即触发
      textarea元素
          多行文本输入框,当有改变时,失去焦点后触发change事件
4. jQuery中的表单事件 select()事件
当textarea或文本类型的input元素中的文本被选择时,会发生 select 事件。
        这个函数会调用执行绑定到select事件的所有函数,包括浏览器的默认行为。
        可以通过在某个绑定的函数中返回false来防止触发浏览器的默认行为。
5. jQuery表单事件中的 submit()事件
提交表单是一个最常见的业务需求,比如用户注册,一些信息的输入都是需要表单的提交。
      同样的有时候开发者需要在表单提交的时候过滤一些的数据、做一些必要的操作
       (例如:验证表单输入的正确性,如果错误就阻止提交,从新输入)此时可以通过submit事件,监听下提交表单的这个动作
      使用上非常简单,与基本事件参数处理保持一致

      这里需要特别注意:
           form元素是有默认提交表单的行为,如果通过submit处理的话,需要禁止浏览器的这个默认行为
           <form onsubmit="return false;"></form>,jQuery中可以直接在函数中最后结尾return false即可
阻止表单提交:
jQuery 代码:
$("form").submit( function () {
                return false;
            } );
6. 事件对象:Query事件对象的属性和方法

     事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别
         event.type:获取事件的类型
     触发元素的事件类型
         $("a").click(function(event) {
               alert(event.type); // "click"事件
            });
     event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标
      通过这2个属性,可以确定元素在当前页面的坐标值,鼠标相对于文档的左边缘的位置(左边)与 (顶边)的距离,简单来说是从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化
      event.preventDefault() 方法:阻止默认行为
      这个用的特别多,在执行这个方法后,如果点击一个链接(a标签),浏览器不会跳转到新的 URL 去了。我们可以用 event.isDefaultPrevented() 来确定这个方法是否(在那个事件对象上)被调用过了
         event.stopPropagation() 方法:阻止事件冒泡
       事件是可以冒泡的,为防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数
          event.which:获取在鼠标单击时,单击的是鼠标的哪个键
          event.which 将 event.keyCode 和 event.charCode 标准化了。event.which也将正常化的按钮按下(mousedown 和 mouseupevents),左键报告1,中间键报告2,右键报告3
          event.currentTarget : 在事件冒泡过程中的当前DOM元素
  冒泡前的当前触发事件的DOM对象, 等同于this.
          this和event.target的区别:
      js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素;
       .this和event.target都是dom对象
       如果要使用jquey中的方法可以将他们转换为jquery对象。比如this和$(this)的使用、event.target和$(event.target)的使用;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值