2017-01-24 5 views
0

Ich arbeite auf einer Troll-Website für Spaß (click here to see it), und ich möchte die Schaltfläche nur angezeigt, wenn die Maus nicht über die Schaltfläche ist. Die Aktion "Mouseover" von jQuery erkennt jedoch nicht, ob sich der Mauszeiger über einem ausgeblendeten Element befindet. Gibt es irgendeine Möglichkeit, dies mit einer anderen Aktion zu erreichen, oder muss ich etwas mit dem Button mit HTML machen?jQuery: erkennen, wenn mouseover verstecktes Element

$("document").ready(function(){ 
    $("#button").mouseenter(function(){ 
     $("#button").hide(); 
    }); 
    $("#button").mouseleave(function(){ 
     $("#button").show(); 
    }); 
}); 
+0

Könnte eine Vielzahl von Dingen sein. Kannst du etwas Code und vielleicht ein Bild von dem, was vor sich geht, posten? Es könnte sein, dass das Element von einem anderen transparenten Element bedeckt wird. Scheint in Chrome zu arbeiten – Adjit

+0

Wie kann Ihre Maus über ein verstecktes Element sein? Da ist nichts zu Ende. – epascarello

Antwort

1

#button:hover { 
 
    opacity: 0; 
 
    cursor: text; 
 
}
<p> 
 
    Some text<br/> 
 
    
 
    <button id="button" onclick="return false;">And a jumpy button</button><br/> 
 
    
 
    Followed by more text 
 
</p> 
 
    
 

+0

Sie sollten auch 'pointer-events: none;' hinzufügen, damit Click/Selection-Events nicht auf dem Element –

+0

@DrifterSheep es ist CSS ausgelöst werden. –

+0

@AlonEitan, ich war mir nicht sicher, ob das OP will, dass der unsichtbare Button anklickbar sein soll oder nicht, aber ja, wir könnten das auch tun, oder einfach nur das altmodische 'return false'-Ding. –

0

Die .hide() und .show() Methoden setzt die CSS display:none Einstellung. Dies macht das Element unhaltbar (wenn es ein solches Wort: D gibt), so müssen Sie stattdessen die Sichtbarkeit des Elements einstellen: