码迷,mamicode.com
首页 > Web开发 > 详细

Jquery动态bind绑定已有函数,函数自动执行的问题解决方法

时间:2019-08-07 10:49:57      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:元素   通过   confirm   成功   ble   script   center   bin   this   

在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绑定已有函数,函数自动执行的问题解决方法

标签:元素   通过   confirm   成功   ble   script   center   bin   this   

原文地址:https://www.cnblogs.com/Lints/p/11313760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!