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 ...
随机推荐
- 多tomcat服务和nginx负载均衡配置
1.nginx服务安装及配置,详见:linux 配置之安装nginx 2.多个tomcat服务安装及配置,详见:linux 配置多个tomcat 3.关键配置nginx.conf文件 http { i ...
- Jquery 动态添加元素 添加点击事件
给动态添加的元素添加js事件,不能直接添加js事件,需要借助on( )方法,给选择器指定的子元素添加事件处理函数,并非选择器本身: 1. 语法 $(selector).on(event,childSe ...
- 03-css的继承性和层叠性
一.继承性 css中所谓的继承,就是子集继承父级的属性. 可以继承的属性:color.font-xxx.text-xxx.line-xxx.(主要是文本级的标签元素) 但是,像一些盒子元素属性,定位的 ...
- SpringBoot注入Service失败
Description: The bean 'userService' could not be injected as a 'com.phy.hemanresoruce.service.UserSe ...
- 软件开发工具(第9章:使用Eclipse进行C/C++开发)
一.安装MinGW MinGW是指用来生成可执行文件的编译环境,它是开发C/C++项目 的工具集.为了能够使用Eclipse CDT编译且运行C和C++程序,必须 要安装一个C/C++编译器. 下载: ...
- Linux入门(用户操作及权限)
Linux入门之 用户操作及权限 在一个公司里,老板与员工有上下级之分,员工与员工间也有上下级或同级之分.每个级别在公司的职责不同,权限也不同.在Linux操作系统中也一样,不同的用户身份拥有着不 ...
- 利用npm安装/删除/查看包信息
查看远程服务器上的包的版本信息 npm view webpack version //查看npm服务器上包webpack的最新版本 npm view webpack versions //查看服务器上 ...
- 【NOIP2013】花匠
Description 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较 ...
- POJ - 3646 The Dragon of Loowater
Once upon a time, in the Kingdom of Loowater, a minor nuisance turned into a major problem. The shor ...
- OSX 10.14.2 安装Cocoapods 出现问题的解决方法
今天尝试用 Cocoapods安装个第三方库.. 输入pod install, 发现 command not find. WTF! 估计是升级10.11后Cocoapods被干掉了. 我输入 sudo ...