JQuery动态选择器事件处理程序

JQuery Dynamic Selector Event Handler

本文关键字:程序 事件处理 选择器 动态 JQuery      更新时间:2023-09-26

我正在尝试修复此页面的移动导航问题:http://tinyurl.com/kq9xs6h

标签是在JS函数中动态创建的:

mobile_advanced      = menu.clone().attr({id:"mobile-advanced", "class":""}),

导致生成以下HTML行:

<ul class="" id="mobile-advanced" style="position: absolute;">

以下代码在使用浏览器控制台时工作(因此,当生成html时):

 jQuery('#mobile-advanced a').on('click', function() {
        jQuery('body').removeClass('show_mobile_menu');
        jQuery('body').removeClass('show_mobile_meta');
        jQuery('body').css({'height':'auto'});
 });

但是当我把它插入到JS文件中时,事件的处理程序是不可理解的。

我应该把这段代码放在哪里,或者我需要如何修改它,以便将处理程序考虑在内?

如果您将代码封装在文档中会怎样?

jQuery( document ).ready(function() {
    jQuery('#mobile-advanced').on( "click", "a", function() {
        jQuery('body').removeClass('show_mobile_menu');
        jQuery('body').removeClass('show_mobile_meta');
        jQuery('body').css({'height':'auto'});
    });
}