动态生成元素的事件处理
当使用 jQuery 的 load() 或 click() 等方法动态生成元素时,捕获触发的事件这些因素可能具有挑战性。附加到静态元素的标准事件处理程序可能不适用于动态生成的元素。
解决方案:事件委托
事件委托是一种允许您处理事件的技术从动态创建的元素中冒出来。通过将事件委托给静态祖先元素,可以确保在绑定事件处理程序时它存在。
使用 jQuery 的 .on() 方法
对于 jQuery 版本1.7或以上,使用.on()方法来委托event:
$('#modal').on('keyup', 'input', function() { handler = $(this).val(); name = $(this).attr('name'); });
使用 jQuery 的 .delegate() 方法(旧版本)
对于旧的 jQuery 版本(1.6 或更低版本),请使用 .delegate()方法代替:
// Note the different order of selector and event $('#modal').delegate('input', 'keyup', function() { handler = $(this).val(); name = $(this).attr('name'); });
通过使用事件委托,可以有效处理事件由动态生成的元素触发,无需担心元素创建的顺序和事件绑定。
以上是如何处理 jQuery 中动态生成元素的事件?的详细内容。更多信息请关注PHP中文网其他相关文章!