Javascript jquery如何访问插入DOM的html上的事件
在我的web应用程序中,我有一个无序列表,其中包含15个加载项。我正在使用ajax从API中获取100个新项目,并使用Javascript jquery如何访问插入DOM的html上的事件,javascript,jquery,ajax,dom,Javascript,Jquery,Ajax,Dom,在我的web应用程序中,我有一个无序列表,其中包含15个加载项。我正在使用ajax从API中获取100个新项目,并使用.append(html)将它们添加到当前的ul。每个li旁边都有一个复选框,选中该复选框时需要调用some\u函数 已渲染的元素能够访问一些函数,但不能访问新加载的函数。如何访问新加载的ajax项上的某些函数?我以前从未处理过这个问题,显然,因为项目没有“呈现”,但它们无法访问函数?这是一个很好的情况,您可以使用jQueryon()函数 您可以阅读更多关于它的信息这是一个很好的
.append(html)
将它们添加到当前的ul
。每个li
旁边都有一个复选框,选中该复选框时需要调用some\u函数
已渲染的元素能够访问一些函数,但不能访问新加载的函数。如何访问新加载的ajax项上的某些函数
?我以前从未处理过这个问题,显然,因为项目没有“呈现”,但它们无法访问函数?这是一个很好的情况,您可以使用jQueryon()
函数
您可以阅读更多关于它的信息这是一个很好的情况,您可以使用jQueryon()
函数
您可以阅读有关它的更多信息使用事件委派-
$(document).on('change',".YourInputClass", some_function);
使用事件委派-
$(document).on('change',".YourInputClass", some_function);
对于此类场景,您应该使用事件委派。。基本上,您将处理程序绑定到父元素,并通过选择器过滤以触发处理程序
下面是伪代码
$('ul').on('click', '.checkbox', function () {
some_function.call(this); //maintain the context if it is an external function.
});
对于此类场景,您应该使用事件委派。。基本上,您将处理程序绑定到父元素,并通过选择器过滤以触发处理程序
下面是伪代码
$('ul').on('click', '.checkbox', function () {
some_function.call(this); //maintain the context if it is an external function.
});
您需要委派活动。
如果
是动态注入的元素,并且您希望附加click事件
$('staticContainer').on('click', '#div1', some_function);
您需要委派活动。
如果
是动态注入的元素,并且您希望附加click事件
$('staticContainer').on('click', '#div1', some_function);
没有看到您的代码,我猜您已经将事件处理程序直接绑定到复选框
$('input[type="checkbox"]').click(function(event) {
// Your code
});
要在创建处理程序后添加内容,您需要使用一个委托处理程序,该处理程序绑定到较低级别、未更改的元素,并将事件冒泡到复选框。我使用了document
,不过建议将其绑定到更高的dom节点,很可能是复选框添加到的ul
$(document).on('click', 'input[type="checkbox"]', function(event) {
// Your code
});
没有看到您的代码,我猜您已经将事件处理程序直接绑定到复选框
$('input[type="checkbox"]').click(function(event) {
// Your code
});
要在创建处理程序后添加内容,您需要使用一个委托处理程序,该处理程序绑定到较低级别、未更改的元素,并将事件冒泡到复选框。我使用了document
,不过建议将其绑定到更高的dom节点,很可能是复选框添加到的ul
$(document).on('click', 'input[type="checkbox"]', function(event) {
// Your code
});
谢谢大家的提示。直到现在我才真正了解活动代表团。因此,下一个问题是,既然jQuery将支持.on
,那么始终通过.on
分配事件是否安全和最佳做法?.on
无疑为您提供了以后向DOM添加元素并仍然维护处理程序的灵活性。您还将注意到,当它在DOM中冒泡时,如果需要,它还可以用于触发不同元素上的事件。请仔细阅读,我建议您使用:)我用过了,我还会用更多的,谢谢。我在代码中修改了它,一切都很好!谢谢大家的提示。直到现在我才真正了解活动代表团。因此,下一个问题是,既然jQuery将支持.on
,那么始终通过.on
分配事件是否安全和最佳做法?.on
无疑为您提供了以后向DOM添加元素并仍然维护处理程序的灵活性。您还将注意到,当它在DOM中冒泡时,如果需要,它还可以用于触发不同元素上的事件。请仔细阅读,我建议您使用:)我用过了,我还会用更多的,谢谢。我在代码中修改了它,一切都很好!