如果我在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>
答案 0 :(得分:2)
$('.button').click(function () {});
仅在执行此代码时处理元素。
$('.button').on('click', function () {});
处理文档中的所有元素(即使稍后添加)