我有一个简单的表格,每行包含 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>
我认为问题在于:
- 我如何定义
line
变量,或者 - 我使用了不正确的选择器
.delegate
,所以它应该是别的东西而不是form
..?
非常感谢任何帮助。