在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" οnclick="deleteRow()"><i class="icon-trash">删除</i></button></div></td></tr>' ); */ }); </script>