mouseenter without JQuery

后端 未结 4 1078
庸人自扰
庸人自扰 2020-12-08 22:43

What would be the best way to implement a mouseenter/mouseleave like event in Javascript without jQuery? What\'s the best strategy for cross browser use? I\'m thinking some

4条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-08 23:42

    another option is to distinguish true mouseout events from fake (child-generated) events using hit-testing. Like so:

    elt['onmouseout']=function(evt){
      if (!mouse_inside_bounding_box(evt,elt)) console.debug('synthetic mouseleave');
    }
    

    I've used something like this on chrome and, caveat emptor, it seemed to do the trick. Once you have a reliable mouseleave event mouseenter is trivial.

提交回复
热议问题