五、jQuery事件

一、鼠标事件

1、鼠标点击
$('.box').mousedown(function(){
  console.log('鼠标按下')
})
$('.box').mouseup(function(){
  console.log('鼠标弹起')
})
$('.box').click(function(){
  console.log('您点击了box')
})
$('.box').dblclick(function(){
  console.log('您双击了box')
})

注意
1、双击事件伴随着单击事件,因此双击事件会触发两次单击事件
2、单击事件又伴随着mousedown和mouseup事件,单击事件的执行顺序为:鼠标按下>鼠标弹起>鼠标点击

2、鼠标移动
$('.box').mouseenter(function(){
  console.log('mouseenter')
})
$('.box').mouseover(function(){
  console.log('mouseover')
})
$('.box').mouseleave(function(){
  console.log('mouseleave')
})
$('.box').mouseout(function(){
  console.log('mouseout')
})

$('.box').hover(
  // 鼠标悬浮在box上时执行
  function(){
    console.log('hover1')
  },
  // 鼠标离开box时执行
  function(){
    console.log('hover2')
  }
)

// 鼠标在.box上移动时触发mousemove事件
$('.box').mousemove(function(e){
  // e是事件参数,本章最后会讲
   console.log('鼠标移动了')
   console.log(e.pageX) // 当前鼠标在document文档(html)中水平方向的位置
   console.log(e.offsetX) // 当前鼠标在.box中水平方向的位置
   console.log(e.clientX) // 当前鼠标在文档所在窗口中水平方向的位置
   console.log(e.screenX) // 当期鼠标在整个屏幕中水平方向的位置
   console.error(
      '-----------pageY,offsetY,clientY,sreenY与上同理,获取的是垂直方向的位置----------'
    )
})

注意:
1、mouseenter、mouseover、mouseleave、mouseout
分别为鼠标进入时、鼠标滑过时、鼠标离开时、鼠标滑出时执行当鼠标放到box上时,执行mouseenter,然后执行mouseover,最后执行hover1 当鼠标离开box是,执行mouseleave,然后执行mouseout,最后执行hover2
2、hover的回到函数可以只写一个,如果只写了一个回到函数,则鼠标hover时和取消hover时都会调用这个回调函数

二、表单事件

// 获取焦点时触发focus事件
$('input').focus(function(){
  // input获取焦点时,设置边框为蓝色
  $(this).css('border','1px solid blue')
})

// 失去焦点时触发blur事件
$('input').blur(function(){
  // input失去焦点时,设置边框为灰色
  $(this).css('border','1px solid gray')
})

// input 值发生改变时触发change事件
// change 事件只适用于表单元素
// 当用于 select 元素时,change 事件会在选择某个选项时发生。
// 当用于 text 或 text area 时,change 事件会在元素失去焦点时发生。
$('input').change(function() {
  console.log($(this).val())
})
// 你也可以主动触发change事件
$('input').change()

// submit 表单提交时触发
// submit 表单提交时触发
$('form').submit(function() {
  alert('提交')
})
// 主动触发
$(selector).submit()  

三、键盘事件

$('input').keydown(function(e) {
  console.log('键盘按下了')
  console.log(e.key) // 打印按下的键盘键对应的字符
  console.log(e.keyCode) // 打印按下的键盘键对应的字符ASCII码,不懂ASCII码的请自行搜索
  // 例如:按下 a 键,e.key = 'a'  ; e.keyCode = 97
  // 例如:按下回车键 e.key = 'Enter' ; e.keyCode = 13
})
$('input').keypress(function(e) {
  console.log('键盘点击')
})
$('input').keyup(function(e) {
  console.log('键盘弹起')
})

四、其他事件

1、文档准备就绪

$(document).ready(function(){
  
})

2、滚动事件

// scroll事件适用于所有可滚动的元素和window对象
$('.box').scroll(function() {
  console.log('box滚动了')
})
//手动触发scroll事件
$('.box').scroll()

3、resize事件

// 调整浏览器窗口大小时,触发resize事件
$(window).resize(function() {
  console.log('浏览器窗口尺寸发生了改变')
  console.log($(this).height()) // 窗口尺寸发生改变时,获取窗口高度
  console.log($(this).width()) // 获取创建偶宽度
})
// 你也可以手动触发resize事件
$(window).resize()

五、事件参数

每一个事件回到函数中都有一个参数 event,event对象中包含诸多属性和方法,下面列出一下比较常用的

$('.box').click(function(e){
  e.preventDefault() // 阻止事件的默认行为
  e.stopPropagation() // 阻止事件向上冒泡到 DOM 树,阻止任何父处理程序被事件通知
  console.log(e.pageX) // 当前鼠标在document文档(html)中水平方向的位置
  console.log(e.offsetX) // 当前鼠标在.box中水平方向的位置
  console.log(e.clientX) // 当前鼠标在文档所在窗口中水平方向的位置
  console.log(e.screenX) // 当期鼠标在整个屏幕中水平方向的位置
  console.log(
      'pageY,offsetY,clientY,screenY 与上方x同理,是获取垂直方向的位置'
  )
  console.log(e.key) // 键盘事件中按下的键对应的字符
  console.log(e.keyCode) // 键盘事件中按下的键对应的字符的ASCII码
  console.log(e.which) // 同 e.key
  console.log(e.timeStamp) // 事件触发时的时间,该时间是时间戳格式
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 本篇博客源地址 总结: 鼠标事件 1.click与dbclick事件ele.click()ele.click(ha...
    ZombieBrandg阅读 674评论 0 1
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 1,603评论 2 10
  • 第1章 鼠标事件 1-1 jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是...
    mo默22阅读 1,275评论 0 6
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,490评论 1 11
  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 1,336评论 0 8