Javascript Dust.js模板中的元素未触发JQuery事件

Javascript Dust.js模板中的元素未触发JQuery事件,javascript,jquery,dust.js,Javascript,Jquery,Dust.js,因此,我使用一个dust模板来渲染一些元素,在渲染该模板之后,绑定到其中一个元素的jquery事件不会触发。 灰尘模板: <input type="number" id="numAmounts" value={numAmounts}> 事件根本没有触发,有人知道为什么吗?听起来好像是在DOM就绪事件触发后呈现Dust.js模板。这意味着当执行$(document).ready()函数时,不存在id为numAmounts的元素,也不绑定事件处理程序 解决此问题的一个解决方案是使用:

因此,我使用一个dust模板来渲染一些元素,在渲染该模板之后,绑定到其中一个元素的jquery事件不会触发。 灰尘模板:

<input type="number" id="numAmounts" value={numAmounts}>

事件根本没有触发,有人知道为什么吗?

听起来好像是在DOM就绪事件触发后呈现Dust.js模板。这意味着当执行
$(document).ready()
函数时,不存在id为
numAmounts
的元素,也不绑定事件处理程序

解决此问题的一个解决方案是使用:

基本原则是,事件处理程序绑定到一个确实存在的元素(在本例中是
文档
本身),并为要对该事件作出反应的动态元素指定一个选择器。理想情况下,您应该在HTML结构中选择比整个文档更接近动态元素的内容


另一种解决方案是:通过对Dust文档的简要阅读,您似乎可以将回调函数传递给
render
函数,该函数将在呈现模板后执行。您可以在其中包含静态事件处理程序绑定,并且可以安全地假设元素将存在于该点。看看。

id的回调接口部分是唯一的。我没有任何其他id为numAmountsAny的元素关于
updateModel
的任何信息,或者侦听器是在哪里定义的?我不熟悉Dust.js,但在DOM就绪事件触发后,可能会呈现模板,因此事件处理程序没有绑定到任何元素(它还不存在)。试试
$(document).on('blur','numAmounts',updateModel)$("#numAmounts").on("blur", updateModel);
$(document).on('blur', '#numAmounts', updateModel);