jquery事件与绑定事件


Posted in Javascript onMarch 16, 2017

1.首先,我们来看一下经常使用的添加事件的方式:

<input type="button" id="btn" value="click me!" onclick="shao();" />
<script type="text/javascript">
 function shao() {
  alert("msg is showing!");
 }
</script>

我们最常用的是为元素添加onclick元素属性的方式来添加事件

这种方法的弊端是:

只能为一个事件处理函数,在事件处理函数方法中,获取事件对象的方式不同.

jQuery中的事件

ready事件:

当页面加载完成后,来执行function:

<script>
 $(document).ready(function(e){
  alert(document.getElementById("aa").innerHTML);
  //若是要写function方法,不可以在里面写
 })
 //要在外面写
</script>

这样写在哪里都可以调用到这个方法;

鼠标事件:

<script>
$("#aa").click(function(){
 alert("点击事件");
})
$("#aa").dblclick(function(){
 alert("双击事件");
})
$("#aa").mouseover(function(){
 alert("鼠标移上")
});
$("#aa").mouseout(function(){
 alert("鼠标离开");
})
$("#aa").mousemove(function(){
 alert("鼠标移动");
})
$("#aa").mouseup(function(){
 alert("鼠标抬起");
})
$("#aa").mousedown(function(){
 alert("鼠标按下");
})
键盘按键按下:给id加没有作用,需要给整个页面加所以用$(document)
$(document).KeyEvent(function(){
 alert("鼠标离开");
})
</script>

表单元素事件:

<script>
$("#shao").focus(function(){
 alert("获得焦点");
})
$("#shao").blur(function(){
 alert("失去焦点");
})
$("#shao").change(function(){
 alert("值发生变化,change事件");
})
$("#shao").keydown(function(){
 alert("键盘按下");
})
</script>

2.绑定事件(挂事件):

可以动态的改变按钮的事件;

什么是动态绑定?

动态绑定是指动态添加的DOM节点或者html元素,他们最开始时运行的时候是不存在的。如果要给这些动态加入的节点增加事件,就必须要用jquery的on方法来绑定事件。

bind()向匹配元素添加一个或多个事件处理器。

使用方式:

$(selector).bind(event,data,function)

注:bind()函数只能针对已经存在的元素进行事件的设置

代码:首先写两个按钮:

<body>
  <div id="aa" style="width: 100px; height: 100px; background-color: blueviolet;">hello</div>
  <!--<input type="text" id="shao" />-->
<input type="button" id="btn1" value="挂事件" />
<input type="button" id="btn2" value="移除事件" />
 </body>

首先操作点击挂上事件:

<script>
//挂事件,
$("#btn1").click(function(){
 //点击挂事件,给div绑定一个事件:
 $("#aa").bind("click",function(){
 //bind绑定事件
  alert("点击");
 });
 //括号里两个参数,第一个是事件类型(事件名称),第二个参数是要执行的代码
})
</script>

这样的话点击挂事件:

jquery事件与绑定事件

移除事件的按钮:

<script>
//移除事件;
$("#aa").click(function(){
 //点击移除事件;把div里面的事件移除掉
 $("#aa").unbind("click");
 //unbind移除绑定,填一个参数,要移除哪个事件
})
</script>

点击移除,取消aa得点击事件

3.事件数据

一般的事件包含事件源跟时间数据:

事件数据:出发这个时间,会传过来那些数据

js简化,可以不写事件源,因为可以取到

4.JSON语法:

JSON的结构:

json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。

(1)对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。

(2)数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

经过对象、数组2种结构就可以组合成复杂的数据结构了。

json是一种轻量级的数据交换格式

全拼:

JavaScript Object Notation

定义语法:

var j = {
"one":"111111",
"two":"22222"
};

取值方式:

取索引:

//数组的取值方式:
alert(j["one"]);//直接取索引的方法

点语法:

//点语法:
alert(j.one);

JSON也可以寸二维数组:

var j = {
"one":"111111",
"two":"22222",
"three":{"aa":"33333"},
};
//数组的取值方式:
//alert(j["one"]);//直接取索引的方法
//点语法:
alert(j.one);
alert(j.three.aa);

遍历JSON数据:

//遍历
for(var v in j)
{
 //定义一个变量v,把j拿到v里面,关键字不是”as“了,是”in“,
 alert(v);
// 这样便利的是索引
 alert(j[v]);
// 这样是根据索引来取值
}

json不具有长度的属性,所以for循环不适应于json

但是for-in同样适应于数组

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
由点击页面其它地方隐藏div所想到的jQuery的delegate
Aug 29 Javascript
Jquery获取和修改img的src值的方法
Feb 17 Javascript
给应用部分的js代码设定一个统一的入口
Jun 15 Javascript
JS获得选取checkbox整行数据的方法
Jan 28 Javascript
js实现漂浮回顶部按钮实例
May 06 Javascript
JS组件Bootstrap实现下拉菜单效果代码
Apr 26 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
May 24 Javascript
微信小程序封装http访问网络库实例代码
May 24 Javascript
Node.js实现连接mysql数据库功能示例
Sep 15 Javascript
jquery实现选项卡切换代码实例
May 14 jQuery
VUE+node(express)实现前后端分离
Oct 13 Javascript
js实现简易ATM功能
Oct 27 Javascript
Angular使用$http.jsonp发送跨站请求的方法
Mar 16 #Javascript
JSON与js对象序列化实例详解
Mar 16 #Javascript
JS对象的深度克隆方法示例
Mar 16 #Javascript
JS对象深度克隆实例分析
Mar 16 #Javascript
JS异步加载的三种实现方式
Mar 16 #Javascript
Bootstrap免费字体和图标网站(值得收藏)
Mar 16 #Javascript
基于JavaScript实现滑动门效果
Mar 16 #Javascript
You might like
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
生成静态页面的PHP类
2006/11/25 PHP
一个PHP操作Access类(PHP+ODBC+Access)
2007/01/02 PHP
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
PHP微信支付实例解析
2016/07/22 PHP
jquery ui resizable bug解决方法
2010/10/26 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
2011/05/07 Javascript
js常用代码段收集
2011/10/28 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
js导航菜单(自写)简单大方
2013/03/28 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
js实现复制功能(多种方法集合)
2018/01/06 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
医学护理毕业生自荐信
2013/11/07 职场文书
自动化职业生涯规划书范文
2014/01/03 职场文书
文明之星事迹材料
2014/05/09 职场文书
先进党支部事迹材料
2014/12/24 职场文书
伏羲庙导游词
2015/02/09 职场文书
环卫工人慰问信
2015/02/15 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
python使用BeautifulSoup 解析HTML
2022/04/24 Python
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL