Maison  >  Article  >  interface Web  >  Partage de solutions pour jQuery.trigger() déclenchant le survol et d'autres événements

Partage de solutions pour jQuery.trigger() déclenchant le survol et d'autres événements

黄舟
黄舟original
2017-06-26 11:23:262959parcourir

Baidu a également découvert l'utilisation de Trigger. Le but est de déclencher l' événement spécifié sur l'élément correspondant. Cependant, l'explication est toujours ambiguë. Veuillez aider à regarder le code ci-dessous

C'est un code js de base pour le carrousel de focus

 $(".scroll").mouseenter(function() {             if(adTimer){
             clearInterval(adTimer);
             }
     }).mouseleave(function(event) {
             adTimer =setInterval(function(){
                 showImg(index);                 index++;             if (index==len) {index=0;};
             },3000);
     }).trigger('mouseleave');
clearinterval lors du survol de

image , et déclencher setinterval en quittant l'image

Mais à propos du dernier phrase.trigger( 'mouseleave') Je ne comprends vraiment pas le sens. Je sais juste que pour déclencher automatiquement le minuteur lors de l'ouverture de la page Web, laissez l'image du carrousel changer, au lieu d'attendre Mouseleave avant de déclencher l'événement.

La question principale concerne Trigger, et comment est-il implémenté ici ? Merci à tous.

devrait signifier quelque chose de similaire à l'initialisation. Il est écrit dans un style de chaîne. La logique de l'ensemble du code est la suivante : 1. Lier l'heure d'entrée de la souris ; 2. Lier l'événement de sortie de la souris ; 3. Déclencher un événement de sortie de la souris, c'est-à-dire initialiser et exécuter setInterval.

Personnellement, je ne recommande pas cette façon d’écrire. J'écrirais comme ceci :

// 对象变量var $scroll = $('.scroll'),
    adTimer = null;// 事件绑定$scroll.on({    'mouseenter.scroll': function (e) {
        e.preventDefault();        // 清除计时
        if (adTimer) {
            clearTimeout(adTimer);
        }
    },    'mouseleave.scroll': function (e) {
        e.preventDefault();        // 开始计时
        adTimer = setTimeout(function () {            // 执行其他逻辑
            // ····
        }, 3000);
    }
});// 初始化$scroll.trigger('mouseleave.scroll');
 $(".scroll").mouseenter(function() {             if(adTimer){
             clearInterval(adTimer);
             }
     }).mouseleave(function(event) {
             adTimer =setInterval(function(){
                 showImg(index);
                 index++;             if (index==len) {index=0;};
             },3000);
     });
     $(".scroll").trigger('mouseleave');
Je pense que de cette façon, vous comprendrez mieux que

le déclencheur ne nécessite pas que vous ayez un événement, il exécutera automatiquement le événement. Les événements personnalisés doivent être déclenchés par un déclencheur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn