Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
目标HTML由Javascript生成?_Javascript_Jquery - Fatal编程技术网

目标HTML由Javascript生成?

目标HTML由Javascript生成?,javascript,jquery,Javascript,Jquery,我有一个使用JavaScript插件创建的滑块按钮,它自动生成一个类名为.flex-next的元素。但是,当我运行以下代码时,控制台中不会记录任何内容: $(window).load(function() { $( ".flex-next" ).on( "click", function() { console.log("youclick"); }) }); 由于按钮是在加载dom后动态添加的,因此需要使用,以便可以在此按钮上使用click事件: $(docum

我有一个使用JavaScript插件创建的滑块按钮,它自动生成一个类名为
.flex-next
的元素。但是,当我运行以下代码时,控制台中不会记录任何内容:

$(window).load(function() {
    $( ".flex-next" ).on( "click", function() {
        console.log("youclick");
    })
});

由于按钮是在加载dom后动态添加的,因此需要使用,以便可以在此按钮上使用click事件:

$(document).on('click','.flex-nex',function() {
    console.log("youclick");
})

您可能正在调用$(“.flex next”)。在执行滑块按钮之前进行调用。因此,基本上,当您调用.on时,DOM中还不存在您的.flex下一个类


您应该在插件初始化后调用.on call

您可以使用
$(window.load(…)设置在窗口加载时启动调用。flexsider是在
$(document).ready(…)
上启动的,这是在窗口加载并将所有内容加载到DOM之后发生的。因此,当脚本启动时,它会查找一个尚未存在的元素

通过在$(document).ready()上启动脚本并使用。最好的做法是这样声明函数:

$(document).ready(
    $(document).on('click', ".flex-next", function() {
        console.log("youclick");
    });
});
这样,您的单击侦听器将等待页面准备就绪,并将在任何
.flex next
事件上放置一个单击事件,即使是动态创建的事件。这样,如果您使用异步加载的大型图像,代码仍然可以工作

阅读JavaScript中的“事件委派”。参见:+1,下面是一些相关内容。另见,