jQ事件

一 概念

1、on绑定

```js
$('.box').on('click', {num: 10}, function(ev) {
    console.log(ev.data.num)
})
// 数据由ev.data存储
```

2、非on事件

```js
$('.box').click({num: 10}, function(ev) {
    console.log(ev.data.num)
})
// 数据由ev.data存储
```

3、解绑

```
$('.box').off()

二 代码示范

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>事件</title>
<style type="text/css">
.div {
width: 200px;
height: 200px;
background-color: red;
}
</style>
</head>
<body>
<div class="div"></div>
</body>
<script src="js/jquery-3.3.1.js"></script>
<script type="text/javascript">
$(function () {
var a = 10;

var $div = $('.div');
// on事件: on(事件名, {key:value}参数, 回调函数)
$div.on('click', {num: a}, function (ev) {
// jq事件对象
console.log(ev);
// 参数的获取
console.log(ev.data.num)
// 鼠标点击点
console.log(ev.clientX, ev.clientY);
})
// 再绑定一个点击事件
$div.click({num: a}, function (ev) {
console.log(ev.data.num * 2)
})

// 非on事件: 事件名({key:value}参数, 回调函数)
$(document).keydown(function (ev) {
// jq事件对象
console.log(ev);
// 点击键
console.log(ev.keyCode);
})

// 事件的解绑
$div.off() // 解绑所有

})
</script>
<script type="text/javascript">
$(function () {
// 冒泡
$('div').on('click', function (ev) {
console.log(ev);
// 组织冒泡
ev.stopPropagation();
console.log('div click');
})
$('body').on('click', function () {
console.log('body click');
})

$('div').on('contextmenu', function (ev) {
// 取消默认事件
ev.preventDefault();
// return false;
})
})
</script>
</html>

posted @ 2018-10-23 16:14  不沉之月  阅读(105)  评论(0)    收藏  举报