Mic*_*nio 8 html javascript css jquery
我有一些我为我的工作继承的javascript.在这个javascript中,我们有一个不断更新的侧栏(每1到10分钟左右).在脚本中,我们从服务器解析并处理AJAX,然后我们调用一个有趣的函数.
function renewClicks(){
$('.classElem').unbind('click');
$('.classElem2').unbind('click');
$('.classElem3').unbind('click');
$('.classElem').click(elm1funct);
$('.classElem2').clikc(elm2funct);
$('.classElem3').click(elm3funct);
}
Run Code Online (Sandbox Code Playgroud)
其中.classElem是一个css类选择器,它附加到添加到页面的每个图像.elmfunct是为处理点击而编写的函数.这将在每次更新时运行(取消授权有效的已添加元素,然后重新添加所有元素).我想知道是否有一种方法可以在DOM中的body元素上附加一个监听器,这样就可以处理添加到页面并继承css类的所有图像元素,因此不会取消注册并重新注册在每次更新时注册.
感谢您提供的任何信息.
Dar*_*jax 11
你可以试试这个:
$('body').on('click','.classElem',elm1funct)
.on('click','.classElem2',elm2funct)
.on('click','.classElem3', elm3funct);
Run Code Online (Sandbox Code Playgroud)
来自jQuery的文档:
委托事件的优点是,它们可以处理来自稍后添加到文档的后代元素的事件.通过选择在附加委托事件处理程序时保证存在的元素,您可以使用委派事件来避免频繁附加和删除事件处理程序的需要.
正如@crush所提到的,使用事件委托方法来避免解除绑定和重新绑定事件:
$(document).on('click', '.classElem', elm1funct);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11640 次 |
| 最近记录: |