Jquery动态bind绑定已有函数,函数自动执行的问题解决方法
在bind后面的方法,不能带括号,带括号函数就自动执行了...
<script>
//通过子元素删除某行
function deleteRow() {
var flag = confirm('确认要删除吗?');
if(flag == true) {
console.log($(this).parents("tr").remove())
bootbox.alert("删除成功!");
}
} $(function(){
//jquery对象克隆方法,克隆任意对象,这里克隆表格最后一行对象。
var newRow = $("tbody tr:last-child").clone(); //将克隆的新行追加到表格末尾
$('#table_bug_report').append(newRow);
bootbox.alert("添加成功!"); //jquery对象动态绑定已有函数,错误写法
//重新给动态jquery对象绑定已有的函数,这种写法是错的,绑定函数时,会执行一次deleteRow()函数
//newRow.find(".btn-danger").bind('click' , deleteRow()); //正确写法
//重新给动态jquery对象绑定已有的函数,绑定函数时应传入函数名,而不能带括号,带括号函数就自动执行了..
newRow.find(".btn-danger").bind('click' , deleteRow); /*
//另一种可行写法,重新给动态jquery对象绑定匿名函数(这个匿名函数不是已有的)
newRow.find(".btn-danger").bind("click", function(){
var flag = confirm('确认要删除吗?');
if(flag == true) {
console.log($(this).parents("tr").remove())
bootbox.alert("删除成功!");
}
});
*/ /*
//硬核给表格添加一行的方法。
//下面的表格行标签字符串并不是DOM对象,会有问题,下面调用append()函数,实际只是一串添加在页面的标签字符串。
//浏览器只会简单解析,而不会有DOM对象层次的操作。
$('#table_bug_report').append(
'<tr><td class="center"><label><input type="checkbox" class="input"><span class="lbl"></span></label></td>' +
'<td>'+ $('#userId').val() + '</td>' +
'<td>'+ $('#account').val() + '</td>' +
'<td>'+ $('#passwd').val() + '</td>' +
'<td>'+ $('#CN_name').val() + '</td>' +
'<td>'+ $('#EN_name').val() + '</td>' +
'<td><div class="inline position-relative" >' +
'<button class="btn btn-mini btn-info" data-toggle="modal" data-target="#myModal"><i class="icon-edit">编辑</i></button>'+
'<button class="btn btn-mini btn-danger" onclick="deleteRow()"><i class="icon-trash">删除</i></button></div></td></tr>'
);
*/
}); </script>
Jquery动态bind绑定已有函数,函数自动执行的问题解决方法的更多相关文章
- [HTML5]原生事件绑定和jquery动态事件绑定的区别
原生事件绑定: <!-- 标签上绑定的事件是由window对象帮助调用,因此方法内的this其实是window对象 --> <label><input type=&quo ...
- jquery 动态事件绑定(0512)
jquery动态事件绑定,父元素需为静态元素,(不能是动态生成): $("#parent").on("click","#child",fun ...
- jquery中bind()绑定多个事件
bind()绑定事件 $(selector).bind(event,data,function): 参数event为事件名称(如"click,mouseover....."),da ...
- jquery on() bind()绑定的点击事件在js动态新添加的元素生效
方法一:$('.class').on("click",function(){……}); 相当于 $('.class').bind("click",functio ...
- jquery动态live绑定toggle事件
$(".btn").live("click",function(){ $(this).toggle( function () { //事件 1 console. ...
- Jquery中on绑定事件 点击一次 执行多次 的解决办法
举个例子,在同一个页面有下拉选择框 <select class="mySelect"> <option value="user">按用户 ...
- ie7 动态改变select option时,宽度自动变短解决方法
<html> <head> <title>JQuery</title> <meta http-equiv="pragma" c ...
- JQuery中bind和unbind函数与onclick绑定事件区分
JQuery中bind和unbind函数转载: https://blog.csdn.net/liucheng417/article/details/51131982 页面代码: <body& ...
- jQuery在on绑定事件时,使用Function.prototype.bind上下文,只能用off(event)解绑函数,否则可能导致事件叠加
因为一个bind函数,未解绑成功导致事件叠加,搞了一下午. keyup事件绑定: this.$document.on('keyup', this.keyUp.bind(this)); 原解绑函数: t ...
随机推荐
- mysql replace into使用
使用mysql插入数据时,我们通常使用的是insert into来处理,replace into有时可以替代insert into功能,但replace into也有自己的用法 准备一张测试表: CR ...
- Flask基础(13)-->Flask扩展Flask-Script
Flask基础(12)-->Flask扩展Flask-Script # 前提是安装了Flask-Script # 联网运行 pip install flask-script from flask ...
- 43 道检验基础的 JavaScript 面试题
导读 这两天的GitHub Trending repositories被一个名叫 javascript-questions的项目霸榜了,项目中记录了一些JavaScript题目. 文中有些点作者解释的 ...
- http转换为https
1.下载ssl 证数 百度ssl 证数都有 其中以便宜ssl为例子 注册登陆 选择免费版 可以使用3个月: 申请过程中需要检测该域名是否为本人所有 ,所以邮箱检测或者域名配置 很简单检测就好了: 验证 ...
- 执行Django数据迁移,报错 1091
问题描述 今天在Pycharm 中的Terminal下,执行数据迁移操作时,第一步: Python manage.py makemigrations ,是没有任何问题,但就是在执行真正的数据迁移时,也 ...
- 记一次客户DB CPU短时间内冲高至99%处理
问题背景: 客户反映DB CPU短时间内冲高,查询变得缓慢,记录此背景下的处理方式 1> 查看系统负载及相关sql 2> 查看相关sql的执行计划 3> 想看相关sql的执行计划是否 ...
- redis的安装与五种结构的使用
这次我们来说说我们的redis,在我们的redis的认知里,最熟悉的就是用redis作为缓存使用,还有我们的分布式session,其实还有很多redis的使用,还有redis的哨兵模式等等. Redi ...
- MacOS 安装MysqlDB 问题解决方案( 解决 IndexError: string index out of range)
pip install MySQL-python时报错如下: Command "python setup.py egg_info" failed with error code 1 ...
- bugku猫片
这个猫片思路清奇,真的让我长知识了. 开局一只猫,挺可爱的. 拿到图片,老套路来一波,首先 winhex打开是正常png图片,binwalk ,stegslove都没有任何收获. 折腾了好久没有任 ...
- django中app分组
08.13自我总结 django中app分组 一.django路由系统app进行分组 1.创建app 使用pycharm创建django的时候, 加上app的名字,后续多个app只需复制粘贴之前app ...