事件

鼠标事件

$('.nav1').mouseover(function () {
  console.log('over')
}).mouseout(function () {
  console.log('out')
}).mouseenter(function () {
  console.log('enter')
}).mouseleave(function () {
  console.log('leave')
})

键盘事件

$(document).keydown(function(e) {
  console.log(e.key)
}).keyup(function(){
  console.log('松开')
})

焦点事件

// 获取焦点
$('input').focus(function () {
  console.log(this.value)
  console.log($(this).val())
})

// 失去焦点
$('input').blur(function () {
  console.log('失去焦点')
})

$('input').focusin(function () {
  console.log('进入')
  console.log($(this).val())
})

$('input').focusout(function () {
  console.log('退出')
  console.log($(this).val())
})

事件绑定 bind()

更多用法请见官网。

$('input').bind('click',function () {
  console.log('123')
})

/* --------------------------------*/

// 同时绑定多个事件, 使用对象的形式
$('input').bind({'focus':function() {
    console.log('foucus...')
  },
  'blur':function(){
    console.log('blur...')
  }
})

移除事件 unbind()

每个用 .bind() 方法绑定的事件处理程序可以使用 .unbind() 移除。在最简单的情况下,不带参数的.unbind() 将移除元素上所有绑定的处理程。从 jQuery 1.7 开始,.on().off() 方法是最好的元素上附加和移除事件处理程序的方法。

// 移除 focus 事件
$('#t1').unbind('focus')

如果在 jQuery 中要使用原生 JS 为元素绑定事件,且事件是通过函数来引用的,则此函数的定义必须写在 $(document).ready() 之外。如果要在元素的标签上绑定 onclick 等事件,则也必须这样。

function click() {
  // ...
}
$(document).ready(function () {
  $('#t1')[0].onClick = click;
})

复合事件 hover

就是 CSS 中的 hover,相当于 mouseover 和 mouseout。它可以传两个函数,第一个是鼠标悬浮,第二个是鼠标移出。如果只传一个函数,则表示鼠标悬浮。

$('.nav3').hover(function () {
  console.log('悬浮')
}, function () {
  console.log('移出')
})

复合事件 toggle

可以添加多个事件,参数类型可以是多个函数,但是只有 jQuery1.9 之前的版本才支持。该函数的另外一个作用就是用来隐藏和显示元素,传一个 boolean 值。若为 true(默认值),则显示;否则隐藏,且隐藏后不会占据页面的空间(与 display:none 类似)。

显示 show()

function myShow() {
  $('.nav3').show()
  $('.nav3').show(3000)
  $('.nav3').show(3000,function () {
    // 在 show 方法执行完成后, 会自动调用该回调函数
    console.log('显示完毕')
  })
  $('.nav3').show('fast')
  $('.nav3').show('slow')
  $('.nav3').show('normal')
  $('.nav3').show('linear')
}

隐藏 hide()

用法与 show() 类似,隐藏后不会占据原来的位置,类似 display:none

淡入 fadeIn()

它也是显示元素,但是它是淡入(有透明效果),参数和 show() 相同。

淡出 fadeOut()

元素消失后也不会占据原来的位置。

控制高度 slideDown()

增大元素的高度至原先的高度,也是显示的效果。

控制高度 slideUp()

减少元素的高度至 0,也是消失的效果。