Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
Javascript 如何将悬停事件侦听器添加到触发事件侦听器_Javascript_Jquery - Fatal编程技术网

Javascript 如何将悬停事件侦听器添加到触发事件侦听器

Javascript 如何将悬停事件侦听器添加到触发事件侦听器,javascript,jquery,Javascript,Jquery,我试图在下面的代码中添加一个悬停事件侦听器,这样当我将鼠标悬停在link标记上时,它就会触发展开子菜单的操作。我试过悬停和鼠标悬停,但都没用。单击似乎工作良好,但我不知道我做错了什么 Array.prototype.slice.call( this.menuItems ).forEach( function( el, i ) { var trigger = el.querySelector( 'a' ); if( self.touch ) { ``trigger``.ad

我试图在下面的代码中添加一个悬停事件侦听器,这样当我将鼠标悬停在link标记上时,它就会触发展开子菜单的操作。我试过悬停和鼠标悬停,但都没用。单击似乎工作良好,但我不知道我做错了什么

Array.prototype.slice.call( this.menuItems ).forEach( function( el, i ) {
    var trigger = el.querySelector( 'a' );
    if( self.touch ) {
    ``trigger``.addEventListener( 'touchstart', function( ev ) { 
        self._openMenu( this, ev ); } );
    }
    else {
        trigger.addEventListener( 'click', function( ev ) { self._openMenu( this, ev ); });
    }
});

window.addEventListener('resize', function( ev ) { 
    self._resizeHandler(); 
});

不要这样惩罚自己。使用类似jQuery的库将EventHandler附加到元素。jQuery支持鼠标悬停和鼠标悬停。不要重新发明轮子,并在现有解决方案(如引导)的基础上实现基本功能(如扩展子菜单)

trigger.addEventListener('click', function(ev) {
   self._openMenu(this, ev);
});

                    Write

trigger.addEventListener('mouseover', function(ev) {
   self._openMenu(this, ev);
});
用鼠标覆盖事件替换点击事件