Javascript 如何使用本机JS为动态添加的元素添加mouseenter事件

Javascript 如何使用本机JS为动态添加的元素添加mouseenter事件,javascript,jquery,Javascript,Jquery,出于某种原因,我需要使用原生JS而不是jQuery。我需要向动态添加的元素添加一个事件。我是用jQuery做的,但不能用原生JS 这是我的jQuery代码 $('body').on('mouseenter', '.password_link', function(){ ... }); 这里是我用JS试过的 document.querySelector('body').addEventListener('mouseenter', function(){ var forgotPasslink

出于某种原因,我需要使用原生JS而不是jQuery。我需要向动态添加的元素添加一个事件。我是用jQuery做的,但不能用原生JS

这是我的jQuery代码

$('body').on('mouseenter', '.password_link', function(){
...
});
这里是我用JS试过的

document.querySelector('body').addEventListener('mouseenter', function(){
   var forgotPasslink = document.getElementsByClassname('password_link');
   if( e.target == forgotPasslink[0] ){
      ...
   }
});

但它不起作用。我试着用谷歌搜索,但没有成功。

你必须使用
mouseover
,这应该行得通

document.addEventListener('mouseover', function (e) {
    if (hasClass(e.target, 'password_link')) {

        //your code
    } else  {

        // your code
    }
}, false);

使用鼠标盖,例如:-

document.addEventListener('mouseover',函数(e){
if((e.target.className=='test')){
console.log(“到达这里”);
}否则{
//什么也不做。
}
},假)

样品试验
像这样做

var item = document.getElementsByTagName("BODY")[0];
    item.addEventListener("mouseover", func, false);
    item.addEventListener("mouseout", func1, false);

    //mouse enter
    function func()
    {   var forgotPasslink = document.getElementsByClassname('password_link');
       if( e.target == forgotPasslink[0] ){
          //your code
       }
    }

    //mouse leave

    function func1()
    {  
    //your code
    }

如果您是在静态内容上使用它,我的意思是,不是在ajax加载的内容上使用它,您可以使用它:

    var elements = var x = document.getElementsByClassName("password_link");
    if(elements.length>0){
        for(var i =0; i< elements.length; i++){
            elements[i].addEventListener('mouseover', function(element){
                //And Here is where you magic Code goes!
            });
        }
    }
var elements=var x=document.getElementsByClassName(“密码链接”);
如果(元素长度>0){
对于(var i=0;i
享受