在jquery中,给元素绑定事件,本文一共介绍三种方法,运用案例,针对最常用的on()方法,进行事件绑定操作。

事件绑定方法:

①$(element).bind()

参数:{ “事件名称1”:function( ){ } ,“事件名称2”:function(){ },......}

例如给类名为one的div绑定鼠标点击和鼠标滑入、鼠标滑出事件

$( "div.one").bind( { "click":function(){},“mouseover”:function(){},“mouseout”:function(){} });

②父级元素.delegate()

参数1:子级元素

参数2:事件名称

参数3:事件处理函数

③父级元素.on()

参数1:事件名称

参数2:子级元素

参数3:事件处理函数

示例如下:

                             

分析:点击“添加数据”按钮,弹出“添加数据”对话框,输入课程名字和所属学院,点击“添加”按钮,将输入的课程名称和所属学院添加至表格中,同时,点击“GET”,删除“GET”所在行

具体代码如下:

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
* {
padding: 0px;
height: 0px;
} /* 遮盖层 */
.cover {
width: 100%;
height: 100%;
background-color: black;
/* 注意:要想宽高100%覆盖,必须脱离文档流 */
position: absolute;
top: 0px;
left: 0px;
opacity: 0.1;
display: none;
} /* 表单层 */
.form {
height: 294px;
width: 424px;
background-color: white;
border: 1px solid lightgray;
margin-left: -212px;
margin-top: -140px;
display: none;
position: absolute;
left: 50%;
top: 50%;
} /* 表单层头部 */
.form .header {
height: 60px;
background-color: #F7F7F7;
line-height: 48px;
text-indent: 0.5em;
} .form .header span {
color: #666666;
font-weight: bold;
} .header a{
position: relative;
left: 321px;
text-decoration: none;
color: black;
font-weight: 400;
font-size: 30px;
top: 4px;
} /* 表单层主体 */
.body {
height: 173px;
padding-top: 35px;
} .body div {
height: 36px;
line-height: 36px;
text-indent: 10px;
margin-bottom: 35px;
} .body div input {
height: 36px;
width: 300px;
} .add {
text-align: center;
} #btnAdd {
height: 36px;
width: 170px;
} /* 原始层 */
.original{
height: 234px;
width: 369px;
margin: 200px auto; }
/* 添加数据按钮 */
.original input{
height: 32px;
width: 112px;
font-weight: bold;
line-height: 32px;
font-size: 17px;
}
table{
width: 100%;
border-collapse: collapse;
}
thead{
height: 50px;
background-color: #0099CC;
color: white;
}
tr{
height: 42px;
line-height: 42px;
}
th,td{
border: 1px solid #D0D0D0;
text-align: center;
}
tbody{
color: #404060;
font-size: 10px;
background-color: #F0F0F0;
}
.get{
color: #0050EF;
}
</style>
<script src="jquery-1.12.2.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
//点击添加数据,弹出表单层和遮盖层
$("#btnAddData").on("click",function(){
$(".cover").show();
$(".form").show();
});
//点击"×",隐藏表单层和遮盖层
$(".header a").on("click",function(){
$(".cover").hide();
$(".form").hide();
});
//点击"添加"按钮,给表格中添加数据
$("#btnAdd").on("click",function(){
var tr=$("<tr></tr>");
var item=[];
item[0]=$(".course input").val();
item[1]=$(".academy input").val();
item[2]="GET";
for(var i=0;i<3;i++){
var td=$("<td></td>");
td.text(item[i]);
tr.append(td);
if(i==2){
td.addClass("get");
}
}
$("tbody").append(tr);
});
//点击"GET",删除所在行
$("tbody").on("click",".get",function(){
$(this).parent().remove();
})
});
</script>
</head>
<body>
<!-- 遮盖层 -->
<div class="cover"></div> <!-- 表单层 -->
<div class="form">
<!-- 表单层头部 -->
<div class="header">
<span>添加数据</span>
<a href="javascrit:void(0)">×</a>
</div>
<!-- 表单层主体 -->
<div class="body">
<!-- 课程名称 -->
<div class="course">
<span>课程名字:</span><input type="text" id="" placeholder="请输入课程名称" />
</div>
<!-- 所属学院 -->
<div class="academy">
<span>所属学院:</span><input type="text" id="" value="传智播客-前端与移动开发学院" />
</div>
<!-- 添加按钮 -->
<div class="add">
<input type="button" id="btnAdd" value="添加" />
</div>
</div>
</div> <!-- 原始层 -->
<div class="original">
<input type="button" id="btnAddData" value="添加数据" /> <table cellspacing="0" cellpadding="0">
<!-- 表格头部 -->
<thead>
<tr>
<th>课程名称</th>
<th>所属学院</th>
<th>已学会</th>
</tr>
</thead>
<!-- 表格主体 -->
<tbody>
<tr>
<td>JavaScript</td>
<td>传智播客-前端与移动开发学院</td>
<td class="get">GET</td>
</tr> <tr>
<td>css</td>
<td>传智播客-前端与移动开发学院</td>
<td class="get">GET</td>
</tr> <tr>
<td>html</td>
<td>传智播客-前端与移动开发学院</td>
<td class="get">GET</td>
</tr> <tr>
<td>jQuery</td>
<td>传智播客-前端与移动开发学院</td>
<td class="get">GET</td>
</tr> </tbody>
</table>
</div>
</body>
</html>

注意:

网页结构布局

在给”GET“绑定点击事件,注意从父级元素开始给子级元素绑定事件,否则点击事件会出现bug

jQuery----事件绑定之动态添加、删除table行的更多相关文章

  1. Js实现动态添加删除Table行示例

    <table cellpadding="0" cellspacing="0" border="1" style="margi ...

  2. C# ASP 动态添加Html Table行

    用JS放法实现以下效果: 前端文件Questionnaire23.aspx: <%@ Page Title="题目" Language="C#" Mast ...

  3. jquery动态添加删除div--事件绑定,对象克隆

    我想做一个可以动态添加删除div的功能.中间遇到一个问题,最后在manong123.com开发文摘 版主的热心帮助下解答了(答案在最后) 使用到的jquery方法和思想就是:事件的绑定和销毁(unbi ...

  4. jQuery中如何给动态添加的元素绑定事件

    jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.在1.7版本以前使用live.但是在1.8版本以后推荐使用on.这 ...

  5. jQuery动态添加删除CSS样式

    jQuery框架提供了两个CSS样式操作方法,一个是追加样式addClass,一个是移除样式removeClass,下面通过一个小例子讲解用法. jQuery动态追加移除CSS样式 <!DOCT ...

  6. 编辑 Ext 表格(一)——— 动态添加删除行列

    一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除.   (1) 动态添加表格的行  gridS ...

  7. jquery 删除table行,该如何解决

    query 删除table行< table >  < tbody >  < tr >  < td > 这行原来就有 </ td >  < ...

  8. jquery 无刷新添加/删除 input行 实时计算购物车价格

    jquery 无刷新添加/删除 input行 实时计算购物车价格 jquery 未来事件插件jq_Live_Extension.js 演示 <script> $(document).rea ...

  9. JQuery事件绑定,bind与on区别

    jquery事件绑定bind:向匹配元素添加一个或多个事件处理器 $(selector).bind("click",data,function); live:向当前或未来的匹配元素 ...

  10. jQuery事件绑定和委托实例

    本文实例讲述了jQuery事件绑定和委托.分享给大家供大家参考.具体方法如下: jQuery事件的绑定和委托可以用多种方法实现,on()  . bind()  . live()  . delegate ...

随机推荐

  1. flutter实现(OutlineButton)线框按钮

    在flutter的控件里 常用按钮有:FlatButton,RaisedButton,FloatingActionButton,OutlineButton. FlatButton是扁平的,没有阴影的. ...

  2. shell_processing

    1.文本处理_2:grep,sed,awk 2.regular_expression 3.Test   一.文本处理_2 1.grep --Linux处理正则表达式的主要程序.正则表达式是一种符号表示 ...

  3. Android组件系列----Activity的生命周期

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  4. 转: Dubbo远程调用服务框架原理与示例

    Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和  Spring 框架无缝集成. 主要核心部件: Remoting:  网络通 ...

  5. ARM CPU 架构

    1978年12月5日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为 ...

  6. deep learning深度学习之学习笔记基于吴恩达coursera课程

    feature study within neural network 在regression问题中,根据房子的size, #bedrooms原始特征可能演算出family size(可住家庭大小), ...

  7. asar 如何解密加密?electron 的 asar 的具体用法

    来源:https://newsn.net/say/electron-asar.html 在electron中,asar是个特殊的代码格式.asar包里面包含了程序猿编写的代码逻辑.默认情况下,这些代码 ...

  8. 用字典给Model赋值

    用字典给Model赋值 此篇教程讲述通过runtime扩展NSObject,可以直接用字典给Model赋值,这是相当有用的技术呢. 源码: NSObject+Properties.h 与 NSObje ...

  9. Linux 系统安装[Ubuntu]

    1.1.1. 安装Ubuntu 下载链接[Ubuntu16.04.1-64bit-Desktop版]: http://old-releases.ubuntu.com/releases/16.04.1/ ...

  10. 获取 docker 容器(container)的 ip 地址

    获取单个IP docker inspect --format '{{ .NetworkSettings.IPAddress }}'  <container-ID> 获取所有容器IP doc ...