6-3、jQurey事件

鼠标事件:

click 鼠标单击时触发
dblclick 鼠标双击时触发

在这里插入图片描述
这里要注意尽量不同时绑定,且注意事件冒泡问题。

mousedown 鼠标按下去
mouseup 鼠标松开
mouseenter 鼠标进入
mouseleave 鼠标移出
hover([ over ] , out) 鼠标进入和退出时触发两个函数,相当于mouseenter加上mouseleave,参数分别是进入和离开
mouseover 鼠标进入指定元素及其子元素时触发
mouseout 鼠标移出指定元素及其子元素时触发
mousemove([data] , fn) 再DOM内部移动时,会发生mousemove事件(只要一移动就会触发,一个像素就会触发),拖拽比较多
scorll([data] , fn) 中间轴事件,当滚动指定元素时触发,有滚动条时触发,拖动滚动条也会触发

键盘事件

keydown([data] , fn) 当键盘或按钮被按下的时候触发

//注意这里是在document。
  $(document).keydown(function(event){
    console.log('触发 ');
  });

//输出按下按钮ASCII码,a-65 A-97
  $(document).keydown(function(event){
    console.log(event.keycode);
  });

//输出按下按钮是什么
  $(document).keydown(function(event){
    console.log(event.key);
  });

如果不用document,而是获取div,那么不会有反应,因为没有获取到焦点,只有焦点在的时候,才会有,不如input

  $('input').keydown(function(event){
    console.log(event.which);
  });

keyup([data] , fn) 当键盘或按钮被松开的时候触发,他发生在当前获得焦点的元素上

keypress([data] , fn) 当键盘或按钮被按下的时候触发,输入内容的时候才会触发,删除或者开启输入法都不会触发

其他事件

ready ( fn )
当DOM载入就绪可以操作及操纵时绑定一个要执行的函数。

//一般来说,可以把js代码都放在里边
$(document).ready(function(){
});

resize( [data] , fn ) 当调整浏览器窗口大小时触发

//注意这里是wondow,并不是document
  $(window).resize(function(){
    console.log('窗口发生改变。');
  });

focus ( [[data],fn] ) 当元素获得焦点时触发

blur ( [[data],fn] ) 当元素失去焦点时触发

change ( [[data],fn] ) 当元素的值发生改变时触发,且不是当时触发,而是失去焦点时触发,按下enter时也会,常用input上

  <input type="text" >  //失去焦点、摁下enter触发
  <input type="number" >  //输入不触发,点击加减触发

select( [[data],fn] ) 当textarea或文本类型的input元素中的文本被选中时触发,其他的(p等)不会触发

submit( [[data],fn] ) 当提交表单时触发⭐
三种用途: 提交表单、组织表单提交、提交表单时验证及其他需求

//表单提交
	$('input[type=button]').click(function () {
	  $(form).submit();
	});
	
//阻止表单提交
  	  $('form').submit(function () {
    	return false;
	  });
	  
//表单验证
  $('form').submit(function () {
    var aa = $('.inputx').val();
    if(aa === ''){
      alert("空的");  
      return false;
    }
  });

事件参数

event
有些事件,如mousemove和keypress,我们需要获取鼠标位置和按键的值,否则监听这些事件就没什么意义了。
所有事件都会传入 event 对象作为参数,可以从event对象上获取到更多的信息。
实例:
在滚动演示案例里,可以根据左右按键控制显示的图片,根据按键值,判断,决定显示上一个图片还是下一个图片。

事件绑定与取消

on(events, [selector], [data], fn)
在选择元素上绑定一个或多个事件的事件处理函数
events 事件类型
fn 函数
selector 选择器
data 传值
拓展方法:bind、

  var a = function(){
    console.log("触发");
  }
  $('.x').on('click',a);
  //注意不是a(),否则会直接执行。

  var a = function(){
    console.log("触发");
  }
  $('.x').on('click',a);

off(events, [selector], fn)
在选择元素上移除一个或多个事件的事件处理函数

  var bgc =function(){
    $(this).css({'background-color': 'red'})
    console.log("触发");
  }
  $('.d2').click(function(){
    $('.d1').on('click',bgc)
  });
  $('.d3').click(function(){
    $('.d1').off('click',bgc)
  });

one(type,[data],fn)
为每一个匹配元素的特定事件(比如click)绑定一个一次性的事件处理函数

//执行一次之后就解除绑定了,只会执行一次
  var bgc =function(){
    console.log("触发");
  }
  $('.d2').click(function(){
    $('.d1').one('click',bgc)
  });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值