jQuery - 动态附加事件

时间:2016-05-25 03:05:35

标签: jquery

如果我在jQuery中使用class创建一个元素,那么元素将不包含附加的函数。

例如,在下面的代码中,我首先在html和(document.ready)中创建2个不同的元素。我为此类分配了更改事件。

这两个元素正常工作。但是,当单击按钮时,我创建了一个具有相同类但相关事件不适用于该元素的新元素。

为什么会这样?以及如何轻松地将所有事件附加到新元素中?

提前致谢。

我的代码:

<body>
    <div class="main">
        <input class="test" value="2" type="text">
        <input class="test" value="3" type="text">
        <input class="button" value="Click" type="button">
    </div>
</body>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
    $(document).ready(function () {
        $('.test').change(function () {
            $('.main').append('<p>Test</p>');

        });
        $('.button').click(function () {
            $('.main').append('<input class="test" value="x" type="text">');

        });

    });
</script>

1 个答案:

答案 0 :(得分:2)

    $('.button').click(function () {});

仅在执行此代码时处理元素。

    $('.button').on('click', function () {});

处理文档中的所有元素(即使稍后添加)