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

Javascript JQuery动态选择器事件处理程序,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试修复此页面的移动导航上的一个问题: 标记在JS函数中动态创建: mobile_advanced = menu.clone().attr({id:"mobile-advanced", "class":""}), 这将导致生成此HTML行: <ul class="" id="mobile-advanced" style="position: absolute;"> 但当我将其插入JS文件时,事件的处理程序不被理解 我应该把这段代码放在哪里,或者我需要如何修改它,

我正在尝试修复此页面的移动导航上的一个问题:

标记在JS函数中动态创建:

mobile_advanced      = menu.clone().attr({id:"mobile-advanced", "class":""}),
这将导致生成此HTML行:

<ul class="" id="mobile-advanced" style="position: absolute;">
但当我将其插入JS文件时,事件的处理程序不被理解


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

如果您将代码包装到doc ready中会怎么样

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'});
    });

}

您可以使用'mobile advanced'元素的父元素,或者只使用
document
来委托单击处理程序:`$(document).on('click','mobile advanced a',function(){//your code});您正在运行哪个版本的jQuery?
。clone(true)
将克隆元素并克隆附加到元素的事件。菜单分配在哪里?你能和我们分享任何错误吗?谢谢,我们已经用这个答案作为提示,它已经起作用了——事实上,整个JS脚本都用doc包起来了。谢谢你的提示。
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'});
    });

}