小编Ale*_*exW的帖子

使用delegate()新添加的元素不会绑定jscolor.js

我有一个简单的形式,每行包含3个输入字段.在其中一个领域,我使用jscolor.js(字段有一个class="color"因此绑定JS).

但是,当我使用jQuery添加新行时delegate(),输入字段不绑定JS,并且不存在预期的功能.http://jsfiddle.net/alexwald/qARzP/

<script>
var line = '<li class="form_line" id="line">    
              <span>
                <label for="item">Item:</label>
                <input type="text" required="required" placeholder="what item is this?" id="item" name="item[]>
              </span>
              <span>
                <label for="amount">Amount: </label>
                <input required="required"  type="number" id="amount" name="amount[]>
              </span>
              <span>
                <label for="color">Color: </label>
                <input type="text" required="required" class="color {pickerClosable:true, hash:true ,pickerFace:3,pickerBorder:0}" id="color" name="color[]">
              </span>
            </li>';

$(document).ready(function() {          
  $("form").delegate(".add", "click", function(){        
    $('ul').append(line); 
  }); // end of adding                              
}); //end of main func 
</script>
Run Code Online (Sandbox Code Playgroud)

我认为问题出在:

  • 我如何定义line变量,或
  • 我正在使用一个不合适的选择器.delegate,所以它应该是别的而不是form......?

任何帮助非常感谢.

javascript jquery jquery-delegate

5
推荐指数
1
解决办法
2681
查看次数

标签 统计

javascript ×1

jquery ×1

jquery-delegate ×1