我正在通过 jquery 将一个输入字段插入到 dom 中,不幸的是这种情况无法重现。
但是,当我在输入字段中写入时,它的值不会改变。
你以前见过这种行为吗?如果是这样,你是如何处理的?
只是为了澄清
这个问题中没有代码示例,因为错误不能通过简单的几行代码重现。我必须包含我不允许披露的应用程序部分。因此,我在问人们是否看到过类似的行为,以及在哪里期待它。
我正在通过 jquery 将一个输入字段插入到 dom 中,不幸的是这种情况无法重现。
但是,当我在输入字段中写入时,它的值不会改变。
你以前见过这种行为吗?如果是这样,你是如何处理的?
只是为了澄清
这个问题中没有代码示例,因为错误不能通过简单的几行代码重现。我必须包含我不允许披露的应用程序部分。因此,我在问人们是否看到过类似的行为,以及在哪里期待它。
如果您的意思是事件处理程序不会为动态添加的元素执行,这可能是一个典型的错误,例如
HTML:
<div id="container">
<div class="box">Box</div>
</div>
JavaScript:
$('.box').on('click', function() {
alert('box clicked');
});
var newBox$ = $('<div>').addClass('box').html('Box');
$('#container').append(newBox$); // clicks on this box will not be handled.
但是,如果您稍微更改一下 JavaScript,那么动态添加的元素上的事件将按照您的意愿处理:
如何改变它:
$('#container').on('click', '.box', function() {
alert('box clicked');
});
var newBox$ = $('<div>').addClass('box').html('Box');
$('#container').append(newBox$); // clicks on this box will be handled.
通过这种方式,您将事件处理程序绑定到容器,并且当事件冒泡时将调用适当的事件处理程序。