Heim  >  Artikel  >  Web-Frontend  >  So aktivieren Sie Eingabeelemente mit jQuery mithilfe von prop() korrekt

So aktivieren Sie Eingabeelemente mit jQuery mithilfe von prop() korrekt

Susan Sarandon
Susan SarandonOriginal
2024-10-19 19:05:02192Durchsuche

How to Correctly Enable Input Elements with jQuery Using prop()

Entfernen des Attributs „disabled“ mit jQuery

In Ihrer Abfrage möchten Sie Eingabeelemente zunächst deaktivieren und dann aktivieren, wenn Sie auf a klicken Link. Ihr Code entfernt jedoch das Attribut „disabled“ nicht.

jQuerys prop()-Methode

Um Elemente in jQuery effektiv zu deaktivieren oder zu aktivieren, verwenden Sie immer das prop()-Methode. Diese Unterscheidung ist wichtig, da prop() Eigenschaften behandelt, während attr()/removeAttr() Attribute verarbeitet.

In Ihrem speziellen Fall wäre der richtige Code:

$("#edit").click(function(event){
   event.preventDefault();
   $('.inputDisabled').prop("disabled", false); // Elements are now enabled.
});

Siehe die aktualisierter Code in Aktion bei dieser jsFiddle: [Link zu jsFiddle]

Prop() vs. attr()/removeAttr()

While attr() /removeAttr() kann Elemente technisch aktivieren/deaktivieren, dies wird aufgrund möglicher Inkonsistenzen nicht empfohlen. Prop() verwaltet explizit Eigenschaftswerte und sorgt so für zuverlässigeres Verhalten.

Vor jQuery 3.0 (vor 2016)

removeAttr() hat das deaktivierte Attribut vollständig entfernt und das festgelegt Eigenschaft auf false. Umgekehrt hat prop() nur den booleschen Wert der Eigenschaft geändert.

jQuery 3.0 und höher

prop() bleibt der empfohlene Ansatz, da removeAttr() jetzt nicht mehr festgelegt wird die entsprechende Eigenschaft auf false. Diese Unterscheidung ist für moderne Browser unerlässlich, die zwischen Attributen (Anfangswerten) und Eigenschaften (aktuellen Werten) unterscheiden.

Das obige ist der detaillierte Inhalt vonSo aktivieren Sie Eingabeelemente mit jQuery mithilfe von prop() korrekt. 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