2017-12-05 2 views
1

in dem Ausschnitt unten, funktioniert nur das Ereignis "mousemove". "mousedown" hat keine Wirkung und ich kann nicht entziffern, warum dies geschieht. Wenn ich "mousedown" durch "click" ersetze, funktioniert es, aber ich mousedown verwenden möchte, so dass das fadeOut -Ereignis sofort (zu Beginn eines Klicks) statt mit Klick, der auf die Benutzer-Maus geht unten und dann zurück . bismousedown Ereignis nicht passiert

$('.issue-carousel').on({ 
    // On mousemove, controls follow cursor 
    mousemove: function(e) { 
     var parentOffset = $(this).offset(); 
     var relX = e.pageX - parentOffset.left; 
     var relY = e.pageY - parentOffset.top; 
     $('.drag-indicator').css({ 
      left: relX, 
      top: relY 
     }); 
    }, 
    mousedown: function() { 
     $('.drag-indicator').fadeOut(300); 
    } 
}); 
+1

Können Sie Fehler in der Konsole des Browsers sehen? –

+4

[Works for me.] (Https://jsfiddle.net/zdm5c3mh/) Bitte aktualisieren Sie Ihre Frage mit einer [mcve], die das Problem demonstriert, idealerweise ein ** runnable ** mit Stack Snippets (die '[<>] 'toolbar button; [hier geht's] (https://meta.stackoverflow.com/questions/358992/ive-been-told-to-do-runnable-example-with-stack-snippets-how- do-i-do-tha)). –

+0

Ihr Code ist in Arbeitsstatus .... Ich denke, Sie haben die Implementierung Problem –

Antwort

4

per mein Kommentar, funktioniert der Code in Ordnung -.. mit einer Ausnahme der mousedownfadeout funktioniert nicht, weil Sie technisch nicht das Karussell sind klicken, sondern die drag indicator ich habe den Code aktualisiert wie unten, wo ich das mousedown target entsprechend geändert habe;

$('.issue-carousel').on({ 
    // On mousemove, controls follow cursor 
    mousemove: function(e) { 
     var parentOffset = $(this).offset(); 
     var relX = e.pageX - parentOffset.left; 
     var relY = e.pageY - parentOffset.top; 
     $('.drag-indicator').css({ 
      left: relX, 
      top: relY 
     }); 
    } 
}); 

$('.drag-indicator').on({ 
    mousedown: function(e){ 
    $(this).fadeOut(300); 
    } 
}) 

Eine funktionierende Geige finden Sie hier: https://jsfiddle.net/o3cdLjp7/2/

+1

@ dungey_140: Nein, so funktioniert es nicht. Der vollständige Inhalt Ihrer Frage muss ** in ** Ihrer Frage sein, nicht nur verknüpft. Links verrotten, was die Frage und ihre Antworten in Zukunft für die Menschen nutzlos macht, und die Leute sollten nicht von außerhalb gehen müssen, um Ihnen zu helfen. Setzen Sie eine [mcve] ** in ** die Frage, idealerweise mit Hilfe von Stack Snippets (der '<>' Symbolleistenschaltfläche), um es ausführbar zu machen ([hier geht's] (https://meta.stackoverflow.com/questions)/358992/ive-telled-to-do-a-runnable-Beispiel-mit-Stack-Snippets-how-do-i-do-tha)). Mehr: [* Wie stelle ich eine gute Frage? *] (/ Help/how-to-ask) –

+0

Hi @ dungey_140 - Leider, wie TJ oben sagt, wenn Sie Ihr Problem hier in einem Stack-Snippet reproduzieren können (oder in einem jsfiddle/codepen zumindest) wir können dir weiterhelfen. Die Verbindung zu Ihrem Tunnel wird beendet, wenn Sie es schließen (außerdem ist es viel zu langsam zum Laden). – Lewis

+0

OK danke Lewis. Ich werde Ihre Antwort als korrekt markieren, obwohl ich denke, dass ich weiterhin auf "Klicken" klicken muss, da ich nicht in der Lage bin, denselben Fehler zu erhalten, wenn das Problem auf Stack übertragen wird. Sehr komisch! –

Verwandte Themen