关于动态项的jquery“on”问题

时间:2013-02-20 08:13:16

标签: javascript jquery html

我有一个jquery

$(document).ready(function(){

        $(".files").on('change', function() {
            $('.file_fiels').append('<li><input type="file" name="attachments[]" multiple="multiple" class="files" /></li>')
        }); 

    })

和HTML

<ul class="file_fiels">
<li><input type="file" name="attachments[]" multiple="multiple" class="files" /></li>
</ul>

这意味着,当某人添加一个项目进入输入时,应显示另一个输入类型。

它与第一个输入类型完美配合,它不适用于我在第一个输入类型上添加项目时创建的输入。

3 个答案:

答案 0 :(得分:2)

在事件委托上使用动态添加的元素

$('.file_fiels').on('change', '.files', function() {
   $('.file_fiels').append('<li><input type="file" name="attachments[]" multiple="multiple" class="files" /></li>')
});
关于委托活动的

read more

答案 1 :(得分:1)

由于父<ul>元素是静态的,您可以使用event delegation

$(".file_fiels").on("change", ".files", function() {
    $(".file_fiels").append("<li> ... </li>");
});

答案 2 :(得分:0)

我一直使用.live()作为动态项目,它对我来说非常完美。