Javascript jQuery事件不存在';不能在新创建的元素上工作

Javascript jQuery事件不存在';不能在新创建的元素上工作,javascript,jquery,html,javascript-events,Javascript,Jquery,Html,Javascript Events,我用一个类“.followbutton”获取img元素,然后将其隐藏,并用一个类“.followbutton”替换为一个新创建的元素按钮。在“mouseout”事件之后,我获取这个新创建的button元素,隐藏它,并用一个新创建的img元素替换它,该元素带有一个类“.follow”。最后,我有了新元素img,它的心房与最初的心房相同。但现在“鼠标器”不起作用了。我不知道为什么 $(“.follow”) .on(“mouseenter”,function(){ $(this).fadeOut(1

我用一个类“.followbutton”获取img元素,然后将其隐藏,并用一个类“.followbutton”替换为一个新创建的元素按钮。在“mouseout”事件之后,我获取这个新创建的button元素,隐藏它,并用一个新创建的img元素替换它,该元素带有一个类“.follow”。最后,我有了新元素img,它的心房与最初的心房相同。但现在“鼠标器”不起作用了。我不知道为什么

$(“.follow”)
.on(“mouseenter”,function(){
$(this).fadeOut(150,function(){
var init=this;
var btn=document.createElement(“按钮”);
var t=document.createTextNode(“Follow”);
附肢儿童(t);
btn.className=“followbutton”;
$(btn.hide();
$(此).替换为(btn);
$(“.followbutton”).show(150);
$(.followbutton”).on(“mouseout”,function(){
变量imgback=$(“

跟随

因为您在
上丢失了侦听器。请在创建新的
img
标记时遵循
,并将其替换为文档。您必须使用事件委派

$(document).on("mouseenter", ".follow", function() { /* ... */ });
$(document).on(“mouseenter”,“.follow”,function()){
$(this).fadeOut(150,function(){
var init=this;
var btn=document.createElement(“按钮”);
var t=document.createTextNode(“Follow”);
附肢儿童(t);
btn.className=“followbutton”;
$(btn.hide();
$(此).替换为(btn);
$(“.followbutton”).show(150);
$(.followbutton”).on(“mouseout”,function(){
变量imgback=$(“

跟随

因为您在
上丢失了侦听器。请在创建新的
img
标记时遵循
,并将其替换为文档。您必须使用事件委派

$(document).on("mouseenter", ".follow", function() { /* ... */ });
$(document).on(“mouseenter”,“.follow”,function()){
$(this).fadeOut(150,function(){
var init=this;
var btn=document.createElement(“按钮”);
var t=document.createTextNode(“Follow”);
附肢儿童(t);
btn.className=“followbutton”;
$(btn.hide();
$(此).替换为(btn);
$(“.followbutton”).show(150);
$(.followbutton”).on(“mouseout”,function(){
变量imgback=$(“

跟随

您可以在这种情况下使用委托。它将解决事件附加到元素的问题。请尝试下面的代码

$(document).delegate(".follow","mouseenter", function() {
    //YOUR CODE
});

您可以在这种情况下使用委托。它将解决事件附加到元素的问题。请尝试下面的代码

$(document).delegate(".follow","mouseenter", function() {
    //YOUR CODE
});

如果将事件附加到新添加的项,则不会发生任何事情。这是因为我们之前附加了直接绑定的事件处理程序。直接事件仅在调用.on()方法时附加到元素。请参阅下面的链接以了解示例和清楚的理解


如果将事件附加到新添加的项,则不会发生任何事情。这是因为我们之前附加了直接绑定的事件处理程序。直接事件仅在调用.on()方法时附加到元素。请参阅下面的链接以获取示例和清晰的理解


从jQuery 1.7开始,
.delegate()
已被
.on()
方法取代。因此,您真的不应该再使用
delegate
了。从jQuery 1.7开始,
.delegate()
已被
on()
方法取代。因此,您真的不应该再使用
delegate