0
我正在构建一个web应用程序,并且一段时间以来一直在困扰着我,当我通过ajax将HTML加载到我的页面时,我需要在$文件)。就绪()。
咱们例如说我有这样的:
$(document).ready(function() {
$('#searchInput').keyup(function() {
// Do something
});
});
但是我使用id =“searchInput”输入字段中的DOM加载时不会加载 - 它被后来装上使用AJAX,当用户点击一个特定的元素。 现在我的id =“searchInput”的输入字段被加载,但keyup(函数)不会侦听#searchInput,因为它没有加载到原始DOM中。
现在,我唯一的解决方案就是这样做:
function loadEvents() {
$('#searchInput').keyup(function() {
// Do something
});
}
$(document).ready(function() {
loadEvents();
});
,然后在阿贾克斯更迭:
succes:
function() {
loadEvents();
}
这工作...但我不禁想到有一个更聪明的方法...
我有我的loadEvents()内的多个函数,对我来说,我似乎不是最好的解决方案,每次ajax调用成功时重新加载所有函数?
当然,我可以做出许多不同的ajax调用,这些调用在ajax成功执行特定的功能需要,但是我将不得不创建许多不同的ajax函数。
有更好的解决方案吗?