preface

我们知道,每一个a,input等等标签都可以为其绑定一个事件,onclick也好,focus 也罢,都可以绑定的。但是众神key想过这个问题没有,倘若这里有1000个input标签需要绑定onclick事件,那么是不是说每一个input标签都要写一个onclick呢?当然不是了,我们利用jquery,只需要写一个就行了。那好,请看代码:

基本事件绑定

jquery版本都是jquery-2.2.3

html代码

为每一个li标签绑定一个点击(onclick)事件

<div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>

jqueyr代码

<script>
$(function () { // $(f(){}) 这种形式的函数等价于ready
$('li').click(function(){ //为li这个标签绑定一个click标签。
var tmp = $(this).text(); // this表示传入的这个li标签,获取这个li的文本内容。
alert(tmp)
})}
);
</script>
ready与$(function(){})都是一样的功能,在文档树结构加载完成后执行。

都是最基本的jquery事件绑定

代码如下:

ready:

$(document).ready(function () {
// 自己写需要的方法了
})

$()方法

$(function() {
// 自己写需要的方法了
})

html新生成的文档

上面说的那个事件绑定只能针对在html加载完成的时候绑定,如果此时用户新增加了一个输入框,或者其他的,那么$('li').click()对新增加的li标签就没有任何效果了,此时就需要其他方法来对新的标签文档做事件绑定。请看代码:

html代码

<input type="button" value="添加" onclick="AddContent()"/>
<div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>

jquery代码

方法一:每增加一个li标签的时候,同时绑定事件。适用于需要绑定事件的标签不多的情景。

    function AddContent(){
$('ul').append('<li>8</li>') // 增加li标签
$('li:last').click(function(){ // 对li的标签最后一个绑定clikc事件
var tmp = $(this).text();
alert(tmp);
})
}

方法二:通过delegate委托的方法

默认是先不绑定,当你点击这个标签的时候,它去找到你这个点击的标签,才去绑定,绑定完成后,立马执行,相当于现绑现用。适用于绑定事件的标签特别多。

    $('ul').delegate('li','click',function(){   // 表示去ul里找li标签,为li标签绑定click事件,触发事件后执行后面function的方法。
alert($(this).text()) // function的方法自定义。
})

方法三: bind方法等同于方法一,提前绑定。

    $(function () {
$('li').bind('click',function(){ // clikc表示绑定click方法
alert($(this).text())
})
});

对指定标签移除事件

方法一:unbind 传入参数表示对指定事件进行取消绑定,不传入表示取消所有事件

$("p").unbind()
$("p").unbind('click')

方法二:undelegate

传入参数表示对指定事件进行取消绑定,不传入表示取消所有事件

$("p").undelegate( "click" )
$("p").undelegate()

7 HTML&JS等前端知识系列之jquery的事件绑定的更多相关文章

  1. 8 HTML&JS等前端知识系列之jquery的自定义方法

    preface 有时候我们在前端写jquery的时候,会自己自定义些方法,这样可以不需要重复造轮子.先说说2种自定义方法的区别: 不跟在选择器后面的 跟在选择器后面的. 那下面说说如何自定义jquer ...

  2. 5 HTML&JS等前端知识系列之jquery基础

    preface jquery其实就是对javascript的再次封装,方便我们开发者调用,下载地址是:http://jquery.com/download/ ,下面就说说常用使用方法 选择器 基本选择 ...

  3. 3 HTML&JS等前端知识系列之javascript的基础

    preface 作为一名运维开发,必须懂得前端知识,比如javascript,dom等等,下面就聊聊javascript. include 数据格式 条件判断,循环流程等. 函数 面向对象 what ...

  4. 4 HTML&JS等前端知识系列之Dom的基础

    preface 主要聊聊dom的编程,包含下面的内容: what's the dom dom选择器 innerText 替换或写入文本 value 获取input,select,textarea的值 ...

  5. 8 HTML&JS等前端知识系列之Ajax的例子

    what is ajax ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新 ...

  6. 9 HTML&JS等前端知识系列之Ajax post请求带有token向Django请求

    我们 在母板上写入这段代码: <script type="text/javascript"> // 个人定义大函数,不是重点,可以忽略 $(document).read ...

  7. python 全栈开发,Day55(jQuery的位置信息,JS的事件流的概念(重点),事件对象,jQuery的事件绑定和解绑,事件委托(事件代理))

    一.jQuery的位置信息 jQuery的位置信息跟JS的client系列.offset系列.scroll系列封装好的一些简便api. 一.宽度和高度 获取宽度 .width() 描述:为匹配的元素集 ...

  8. [js高手之路] vue系列教程 - vue的事件绑定与方法(2)

    一.在vue中,绑定事件,用v-on:事件类型, 如绑定一个点击事件, 我们可以这样子做 window.onload = function () { var c = new Vue({ el : 'b ...

  9. [C# 基础知识系列]专题四:事件揭秘

    转自http://www.cnblogs.com/zhili/archive/2012/10/27/Event.html 引言: 前面几个专题对委托进行了详细的介绍的,然后我们在编写代码过程中经常会听 ...

随机推荐

  1. 使用PowerShell修改操作系统“环境变量”

      有时候我们需要命令行工具,但在使用前往往需要先导航至命令工具所在的目录,比如:stsadm 我们首先需要导航至(以SharePoint2013为例):C:\Program Files\Common ...

  2. SharePoint 2013 Designer 入门教程

    SharePoint的使用中,SharePoint Designer是非常重要的工具,我们可以通过Designer设计页面.母版页,维护.管理站点,也可以定制列表表单.数据视图,设计工作流等等.下面总 ...

  3. MPAndroidChart 3.0——LineChart(折线图)

    显示效果 MPAndroidChart每一种图表的基本使用方式都基本相同 了解一种图表的实现 参考项目源码其他的图表也就差不多哩 在布局文件中定义 <com.github.mikephil.ch ...

  4. 自动化集成部署udeployer 批量统一安装一键部署

    通过jenkins构建项目:version版本控制:udployer自动化集成:ucop业务巡检做到高效高可用的自动化体系.   1.0版本: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一sh ...

  5. ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点

    参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...

  6. Spring、hibernate以及struts2三大框架的整合

    1.首先导入整合框架所需要的43个jar包: 2.配置xml文件: <?xml version="1.0" encoding="UTF-8"?> & ...

  7. 基本shell编程【3】- 常用的工具awk\sed\sort\uniq\od

    awk awk是个很好用的东西,大量使用在linux系统分析的结果展示处理上.并且可以使用管道, input | awk ''  | output 1.首先要知道形式 awk 'command' fi ...

  8. [Unity3D]巧妙利用父级子级实现Camera场景平面漫游

    本文系作者原创,转载请注明出处 入门级的笔者想了一上午才搞懂那个欧拉角的Camera旋转..=.= 在调试场景的时候,每次都本能的按下W想前进,但是这是不可能的(呵呵) 于是便心血来潮想顺便添加个Ke ...

  9. Android应用架构之Android MVP使用

    前两篇已经将Retrofit和RxAndroid应用到了项目中,这篇本打算直接将Dagger2引进项目,但是考虑到整个项目结构,就来个结构整理吧,一起来看看网上炒得火热MVP模式. 说到MVP就不得不 ...

  10. Month Scheme

    新的一个月,我要给自己立FLAG了, ABCDEFG HIJKLMN 天下事有难易乎,为之,则难者亦易矣,不为,则易者亦难矣. 这次采取的策略是,每完成一项work回来补充内容.希望能把这篇blog补 ...