web进阶之二十七:jquery事件

  首先列出一些关于jquery事件的函数。

blur() 元素失去焦点
focus() 元素获得焦点
change() 表单元素的值发生变化
click() 鼠标单击
dblclick() 鼠标双击
mouseover() 鼠标进入(进入子元素也触发)
mouseout() 鼠标离开(离开子元素也触发)
mouseenter() 鼠标进入(进入子元素不触发)
mouseleave() 鼠标离开(离开子元素不触发)
hover() 同时为mouseenter和mouseleave事件指定处理函数
mouseup() 松开鼠标
mousedown() 按下鼠标
mousemove() 鼠标在元素内部移动
keydown() 按下键盘
keypress() 按下键盘
keyup() 松开键盘
load() 元素加载完毕
ready() DOM加载完成
resize() 浏览器窗口的大小发生改变
scroll() 滚动条的位置发生变化
select() 用户选中文本框中的内容
submit() 用户递交表单
toggle() 根据鼠标点击的次数,依次运行多个函数
unload() 用户离开页面

鼠标移入和移出的效果

在很多情况下,我们需要在鼠标移入某个东西时,让它产生一些效果,那么用这个就正好能进解决我们的需求。




    
    鼠标移入移出
    
    
    


    

input输出框,获取焦点等

  在input输入框中,会有一些操作,失去和获取焦点,判断输入框内内容是否改变等等。




    
    input框事件
    
    
    


    


在上面也加了一个键盘的事件,当松开键盘的时候就触发,其中的其他和键盘相关的都类似。

关于在书写js时的方法

  在书写js的,我们要为其提供一个环境,即页面加载和渲染完成后或者当页面中所有的节点加载完成后,虽然看似差不多,但是时间上会差的。肯定是后面的快。




    
    jQuery其他事件
    
    
    


    

绑定事件的其他方法

  之前有一个click点击事件的绑定,现在又新增一个bind。




    
    绑定事件bind
    
    
    


    


bind用户绑定多个事件,事件用空格隔开,后面加触发后的函数。

主动触发与自定义事件

  • 主动触发
    可使用jquery对象上的trigger方法来触发对象上绑定的事件。
  • 自定义事件
    除了系统事件外,可以通过bind方法自定义事件,然后用tiggle方法触发这些事件。



    
    自定义事件
    
    
    


    
    


事件冒泡

什么是事件冒泡

  在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。

事件冒泡的作用

  事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上),它还可以让你在对象层的不同级别捕获事件。

阻止事件冒泡

  事件冒泡机制有时候是不需要的,需要阻止掉,通过 event.stopPropagation() 来阻止,简写的形式就是返回一个false。




    
    事件冒泡
    
    
    


    

事件委托

  事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作。
事件委托的好处:

  • 首先可以极大减少事件绑定次数,提高性能;
  • 其次可以让新加入的子元素也可以拥有相同的操作。



    
    事件委托
    
    
    


    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

jquery元素节点操作

一般的节点操作:

  • 创建节点

var ('

');
var ('
这是一个div元素
');

  • 插入节点
       1、append()和appendTo():在现存元素的内部,从后面插入元素

var ('这是一个span元素');
span);

   2、prepend()和prependTo():在现存元素的内部,从前面插入元素
   3、after()和insertAfter():在现存元素的外部,从后面插入元素
   4、before()和insertBefore():在现存元素的外部,从前面插入元素

  • 删除节点

$('#div1').remove();
写一个简单的实例




    
    节点操作
    
    
    


    

知识点还有点多。@_@

你可能感兴趣的:(web进阶之二十七:jquery事件)