Heim  >  Artikel  >  Web-Frontend  >  Teilen von Lösungen für jQuery.trigger(), das Hover- und andere Ereignisse auslöst

Teilen von Lösungen für jQuery.trigger(), das Hover- und andere Ereignisse auslöst

黄舟
黄舟Original
2017-06-26 11:23:262930Durchsuche

Baidu hat auch erfahren, dass der Zweck darin besteht, das angegebene Ereignis für das passende Element auszulösen. Bitte schauen Sie sich den folgenden Code an >

Es handelt sich um einen grundlegenden JS-Code für das Fokuskarussell

 $(".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 beim Schweben

Bild und Trigger SetInterval beim Verlassen des Bildes

Aber zum letzten Satz.trigger( 'mouseleave') Ich verstehe die Bedeutung wirklich nicht. Ich weiß nur, dass man das Karussellbild wechseln lassen muss, um den Timer beim Öffnen der Webseite automatisch auszulösen, anstatt auf Mouseleave zu warten, bevor man das Ereignis auslöst.

Die Hauptfrage betrifft Trigger und wie wird er hier implementiert? Vielen Dank an alle.

sollte so etwas wie Initialisierung bedeuten. Es ist im Kettenstil geschrieben. Die Logik des gesamten Codes lautet: 1. Binden Sie die Mauseintrittszeit; 2. Binden Sie das Mausverlassensereignis. 3. Lösen Sie ein Mausverlassensereignis aus, dh initialisieren und führen Sie setInterval aus.

Ich persönlich empfehle diese Schreibweise nicht. Ich würde so schreiben:

// 对象变量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');
Ich denke, auf diese Weise werden Sie besser verstehen, dass der

Trigger nicht erfordert, dass ein Ereignis eintritt, sondern das Ereignis automatisch ausgeführt wird Ereignis. Benutzerdefinierte Ereignisse müssen durch einen Trigger ausgelöst werden.

Das obige ist der detaillierte Inhalt vonTeilen von Lösungen für jQuery.trigger(), das Hover- und andere Ereignisse auslöst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn