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 相关文章推荐
window.onbeforeunload方法在IE下无法正常工作的解决办法
Jan 23 Javascript
JavaScript 获取当前时间戳的代码
Aug 05 Javascript
讨论html与javascript在浏览器中的加载顺序问题
Nov 27 Javascript
jquery获取元素索引值index()示例
Feb 13 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
Jun 09 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
Jun 24 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
Jun 13 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
Dec 20 Javascript
使用Node.js搭建静态资源服务详细教程
Aug 02 Javascript
Vue波纹按钮组件制作
Apr 30 Javascript
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
带你彻底理解JavaScript中的原型对象
Apr 14 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
详细介绍PHP应用提速面面观
2006/10/09 PHP
php递归列出所有文件和目录的代码
2008/09/10 PHP
解析php开发中的中文编码问题
2013/08/08 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
python中正则表达式的使用方法
2018/02/25 Python
Python内存读写操作示例
2018/07/18 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
九州传奇上机题
2014/07/10 面试题
大学生就业推荐信范文
2013/11/29 职场文书
家具促销活动方案
2014/02/16 职场文书
青年文明号创建承诺
2014/03/31 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书