La fonction fun1 est appelée lorsque la souris entre dans l'élément #login, la fonction fun2 est appelée en quittant. Cette API peut répondre à la plupart des besoins.
Cependant, nous souhaitons parfois que fun1 soit déclenché lorsque la souris entre dans deux éléments ou plus, et fun2 soit déclenché lorsque la souris les quitte, tandis que déplacer la souris entre ces éléments ne déclenche aucun événement. Par exemple, deux éléments HTML sont côte à côte, comme indiqué ci-dessous :
Fun1 se déclenche lorsque la souris entre dans la zone située entre les deux, et fun2 se déclenche lorsque le feuilles de souris. Vous pourriez penser à utiliser la méthode suivante
Cette méthode ne répond pas à nos besoins, car fun2 et fun1 seront déclenchés lors de la saisie de #drop depuis #trigger. Pour résoudre ce problème, un moyen relativement simple consiste à modifier la structure HTML. La mise en œuvre est la suivante :
}, function(){ $(this).find('ul').hide( }); 🎜> Cette méthode d'implémentation a une logique claire, mais elle entraîne trop de niveaux HTML imbriqués et beaucoup d'inconvénients lors de l'écriture de CSS. Par exemple :
Nous voulons que ce CSS définisse une police de 14 pixels pour l'élément li du premier calque, mais cela affecte également l'élément du deuxième calque, nous devons donc utiliser ce qui suit déclaration pour le réécrire