Javascript: aktivieren/deaktivieren button mit mouseover/mouseout
Diese sollte ziemlich einfach sein:
<input type="button" name="test" id="test" value="roll over me" onmouseover="this.disabled=true;" onmouseout="this.disabled=false;">
Wenn ich den Maus-cursor über diesen button, wird es deaktiviert..yay!
Aber wenn ich jetzt den cursor bewegen, ist es nicht aktiviert...Buh.
Verstehe ich das Konzept der Deaktivierung der es heißt, Sie können nicht nichts mit ihm. Aber wie bekommt man es aktiviert sein, mit einer Maus aus? Ist es möglich? Bin ich etwas fehlt?
InformationsquelleAutor Loony2nz | 2009-11-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die mouseout zu
disabled = ''
statt.Behinderte Eigenschaft nur schaut, um zu sehen, ob es dort überhaupt. Sie können festlegen, deaktiviert='alles' und es wird deaktiviert. Es verwendete, zu sein, Sie brauchten nur das Stichwort
disabled
in Ihren Eigenschaften, aber für gültiges XHTML müssen Sie jedem Attribut gleich etwas.EDIT:
Ich spielte mit diesem ein wenig und fügte einige Polsterung an der
SPAN
tag und es erlaubt, die Ereignisse richtig zu arbeiten. Ohne Polsterung, es ist nicht die überfüllung der Veranstaltungen, da die input-Taste deaktiviert ist. Ich habe gerade den hintergrund rot, so war es leicht zu sehen, die Fläche derSPAN
verwendet.Wie schon andere gesagt haben, die Ereignisse nicht ausgelöst, sobald es deaktiviert ist. Sie können wickeln Sie es in ein span-tag, aber das wirkt ein wenig funky aufgrund der Art, die Ereignisse sprudeln. Sind Sie mit einer javascript-frameworks wie MooTools oder jQuery?
Leider Nein. ja, es wäre schöner gewesen, Reiniger und unaufdringlich hatte ich ein framework, das ist der Grund, warum ich dies geschrieben, auf die altmodische Weise (ein.k.ein. old skool). Ich gebe den code versuchen. Vielen Dank für deinen input!
Das hat für mich in IE8, FF2 und Chrome. Es kann besser arbeiten, wenn Sie eine CSS-styled-link-Taste anstelle der Eingabe-Taste, wenn Sie das tun können.
InformationsquelleAutor Shawn Steward
Divs ist die Rettung!
Schade, niemand hat wirklich auf diese Frage geantwortet. Es ist möglich zu tun*.
Dann:
InformationsquelleAutor Kyle Butt
Disabled form-Elemente nicht Feuer-Maus-events, durch die Skillung.
Was ich als ein workaround ist, zu simulieren, das Verhalten deaktiviert, mit 'deaktiviert' Klasse und Ereignis-handles zugeordnet werden. Funktioniert gut für buttons, aber ich denke, es wäre nicht für Textfelder und Checkboxen.
InformationsquelleAutor Bruno Bergher
könnte man eine äußere element, das Sie umgibt und haben ein onmouseover für das äußere element, das es ermöglicht, das innere element.
'<span onmouseout="document.getElementById('test').deaktiviert=";">', '<input type="button" name="test" id="test" value="roll over me"' 'onmouseover="this.disabled=true;">', '</span>', Noch funktioniert nur im IE.
InformationsquelleAutor Brian Schroth