2016-10-24 4 views
0

Was muss ich im Code ändern, damit der Cursor nach einem Klick statt in einem Doppelklick in der Suchleiste erscheint? Oder warum verschwindet der Platzhalter nicht nach einem Klick ins Feld? (Die Grundidee des Werts und Platzhalters sollte so bleiben).Suchleiste muss doppelt geklickt werden, bevor der Cursor erscheint

HTML

<form action="search.php" method="GET"> 
    <input type="text" name="q" id="searchbox" placeholder="" value="Suche..." maxlength="99" autocomplete ="off" onMouseDown="active();" onBlur="inactive();"/> 
    <button id="searchbutton"> Los!</button> 
</form> 

Javascript

function active(){ 
    var searchbox = document.getElementById('searchbox'); 
    if(searchbox.value == 'Suche...'){ 
     searchbox.value = '' 
     searchbox.placeholder = 'Suche...'   
    } 
} 

function inactive(){ 
    var searchbox = document.getElementById('searchbox'); 

    if(searchbox.value == ''){ 
     searchbox.value = 'Suche...' 
     searchbox.placeholder = '' 
    } 
} 
+0

nicht wirklich sicher, was Sie erwarten hier ... es scheint für mich, mit nur 1 Klick zu arbeiten. https://jsfiddle.net/2844uL3r/ –

+0

ja du ein Recht, aber nicht mit firefox ..:/ – Passenger

Antwort

2

Sie brauchen nicht alle diesen Code zu verwenden, um einen Platzhalter zu machen. Sie müssen nur das:

<form action="search.php" method="GET"> 
    <input type="text" name="q" id="searchbox" placeholder="Suche..." maxlength="99" autocomplete ="off"> 
    <button id="searchbutton"> Los!</button> 
</form> 

Und es wird funktionieren. Wenn Sie das Platzhaltertag verwenden, wenn Sie darauf klicken und mit der Eingabe beginnen, wird der Text verschwinden, Sie benötigen dafür keinen JavaScript-Code.

Und noch etwas ... dieser Code ist nicht "jQuery" -Code, es ist nur JavaScript-Code.

Um die Verwendung CSS Platzhalter Farbe zu ändern:

::-webkit-input-placeholder { 
    color: black; 
    } 

:-moz-placeholder { /* Firefox 18- */ 
    color: black; 
} 

::-moz-placeholder { /* Firefox 19+ */ 
    color: black; 
} 

:-ms-input-placeholder { 
    color: black; 
} 
+0

Ich weiß, dass es so funktioniert, aber es ist nicht das gleiche wie in meiner Version mit der Variable "Suche .. . "in schwarz geschrieben. Du weißt was ich meine? Und danke für den Rat :) – Passenger

+1

Ich verstehe nicht ganz, was Sie tun möchten. Sie meinen, Sie möchten, dass der Platzhalter eine schwarze Farbe anstelle des Standardgraues hat? Dann ändere es mit CSS. –

+0

Okay, zuerst ist es ein wirklich kleines Problem (es macht nur einen kleinen Unterschied), aber ich möchte immer noch wissen, warum ich einen Doppelklick brauche anstatt einen Klick. Was ich machen möchte: Wenn du auf die Seite gehst, steht in der Suchleiste das Wort "Suche ..." in schwarzen Buchstaben. wenn Sie in die schwarzen Buchstaben klicken (die Variable) ändert sich in die grauen Buchstaben (Platzhalter) und wenn ich etwas in den Platzhalter eintippe verschwindet. Ich weiß, es ist vielleicht zu detailliert, aber ich will immer noch wissen, warum es einen Doppelklick braucht, bevor ich Wörter darin eingeben kann ^^ Danke für deine Hilfe übrigens! – Passenger

Verwandte Themen