onclick auf dynamisch hinzugefügte ID
bearbeitet von
@@Pit
> geht so ein Kontrukt grundsätzlich nicht oder ist einfach ein Fehler drin?
>
> ~~~JavaScript
> $('#myDel').on('click', function(){
> $('#myVan' + ' .myButton').html("<span id='TDel'>Wirklich löschen?<span>");
> });
>
>
> $('#TDel').on('click', function(){
> console.log(this.id);
> $("#formDel").submit();
> });
>
> ~~~
Es geht **grundsätzlich** nicht.
`$('#myVan .myButton')`[^plus] ist das jQuery-Objekt zu einem `button`-Element, nehme ich an? Dann wird im Firefox der Eventhandler des inneren `span`s nie ausgeführt, sondern die Aktion, die auf dem `button`-Element liegt. ☞ [Codepen](https://codepen.io/gunnarbittersmann/pen/zPgwwa?editors=1011)
Das ist auch bei jQuery so. ☞ [Codepen](https://codepen.io/gunnarbittersmann/pen/KyOmyv?editors=1011)
Safari und Chrome führen beide Aktionen aus: die des `span`s und die des `button`s.
[^plus]: Warum verkettest du da zwei Stringkonstanten anstatt gleich eine Stringkonstante hinzuschreiben?
Ansonsten ist **grundsätzlich falsch**, Eventhandler für nicht-interaktive Elemente (`span`, `div`, …) zu registrieren. (*Event delegation*{:@en} mal außen vor gelassen.) Ein großer Teil der Nutzer kann das mit Tastatur überhaupt nicht bedienen.
**Merke: Niemals nicht-interaktive Elemente als Target für `click-Events` vorsehen!** `click`-Events ausschließlich für [interaktive Elemente](https://wiki.selfhtml.org/wiki/HTML/Kategorien_von_Elementen#Interaktive_Elemente) wie `a`, `button`, `input` u.ä.
LLAP 🖖
--
“When UX doesn’t consider *all* users, shouldn’t it be known as ‘*Some* User Experience’ or... SUX? #a11y” —[Billy Gregory](https://twitter.com/thebillygregory/status/552466012713783297)
onclick auf dynamisch hinzugefügte ID
bearbeitet von
@@Pit
> geht so ein Kontrukt grundsätzlich nicht oder ist einfach ein Fehler drin?
>
> ~~~JavaScript
> $('#myDel').on('click', function(){
> $('#myVan' + ' .myButton').html("<span id='TDel'>Wirklich löschen?<span>");
> });
>
>
> $('#TDel').on('click', function(){
> console.log(this.id);
> $("#formDel").submit();
> });
>
> ~~~
Es geht **grundsätzlich** nicht.
`$('#myVan .myButton')`[^plus] ist das jQuery-Objekt zu einem Button-Element, nehme ich an? Dann wird im Firefox der Eventhandler des inneren `span`s nie ausgeführt, sondern die Aktion, die auf dem `button`-Element liegt. ☞ [Codepen](https://codepen.io/gunnarbittersmann/pen/zPgwwa?editors=1011)
Das ist auch bei jQuery so. ☞ [Codepen](https://codepen.io/gunnarbittersmann/pen/KyOmyv?editors=1011)
Safari und Chrome führen beide Aktionen aus: die des `span`s und die des `button`s.
[^plus]: Warum verkettest du da zwei Stringkonstanten anstatt gleich eine Stringkonstante hinzuschreiben?
Ansonsten ist **grundsätzlich falsch**, Eventhandler für nicht-interaktive Elemente (`span`, `div`, …) zu registrieren. (*Event delegation*{:@en} mal außen vor gelassen.) Ein großer Teil der Nutzer kann das mit Tastatur überhaupt nicht bedienen.
**Merke: Niemals nicht-interaktive Elemente als Target für `click-Events` vorsehen!** `click`-Events ausschließlich für [interaktive Elemente](https://wiki.selfhtml.org/wiki/HTML/Kategorien_von_Elementen#Interaktive_Elemente) wie `a`, `button`, `input` u.ä.
LLAP 🖖
--
“When UX doesn’t consider *all* users, shouldn’t it be known as ‘*Some* User Experience’ or... SUX? #a11y” —[Billy Gregory](https://twitter.com/thebillygregory/status/552466012713783297)
onclick auf dynamisch hinzugefügte ID
bearbeitet von
@@Pit
> geht so ein Kontrukt grundsätzlich nicht oder ist einfach ein Fehler drin?
>
> ~~~JavaScript
> $('#myDel').on('click', function(){
> $('#myVan' + ' .myButton').html("<span id='TDel'>Wirklich löschen?<span>");
> });
>
>
> $('#TDel').on('click', function(){
> console.log(this.id);
> $("#formDel").submit();
> });
>
> ~~~
Es geht **grundsätzlich** nicht.
`$('#myVan .myButton')`[^plus] ist das jQuery-Objekt zu einem Button-Element, nehme ich an? Dann wird im Firefox der Eventhandler des inneren `span`s nie ausgeführt, sondern die Aktion, die auf dem `button`-Element liegt. ☞ [Codepen](https://codepen.io/gunnarbittersmann/pen/zPgwwa?editors=1011)
Das ist auch bei jQuery so. ☞ [Codepen](https://codepen.io/gunnarbittersmann/pen/KyOmyv?editors=1011)
Safari und Chrome führen beide Aktionen aus: die des `span`s und die des `button`s.
[^plus]: Warum verkettest du da zwei Stringkonstanten anstatt gleich eine Stringkonstante hinzuschreiben?
Ansonsten ist **grundsätzlich falsch**, Eventhandler für nicht-interaktive Elemente (`span`, `div`, …) zu registrieren. (*Event delegation*{:@en} mal außen vor gelassen.) Ein großer Teil der Nutzer kann das mit Tastatur überhaupt nicht bedienen.
**Merke: Niemals nicht-interaktive Elemente als Target für `click-Events` vorsehen!** `click`-Events ausschließlich für interaktive Elemente wie `a`, `button`, `input` u.ä.
LLAP 🖖
--
“When UX doesn’t consider *all* users, shouldn’t it be known as ‘*Some* User Experience’ or... SUX? #a11y” —[Billy Gregory](https://twitter.com/thebillygregory/status/552466012713783297)
onclick auf dynamisch hinzugefügte ID
bearbeitet von
@@Pit
> geht so ein Kontrukt grundsätzlich nicht oder ist einfach ein Fehler drin?
>
> ~~~JavaScript
> $('#myDel').on('click', function(){
> $('#myVan' + ' .myButton').html("<span id='TDel'>Wirklich löschen?<span>");
> });
>
>
> $('#TDel').on('click', function(){
> console.log(this.id);
> $("#formDel").submit();
> });
>
> ~~~
Es geht **grundsätzlich** nicht.
`$('#myVan .myButton')`[^plus] ist das jQuery-Objekt zu einem Button-Element, nehme ich an? Dann wird im Firefox der Eventhandler des inneren `span`s nie ausgeführt, sondern die Aktion, die auf dem `button`-Element liegt. ☞ [Codepen](https://codepen.io/gunnarbittersmann/pen/zPgwwa?editors=1011) Das ist auch bei jQuery so. ☞ [Codepen](https://codepen.io/gunnarbittersmann/pen/KyOmyv?editors=1011) Safari und Chrome führen beide Aktionen aus: die des `span`s und die des `button`s.
[^plus]: Warum verkettest du da zwei Stringkonstanten anstatt gleich eine Stringkonstante hinzuschreiben?
Ansonsten ist **grundsätzlich falsch**, Eventhandler für nicht-interaktive Elemente (`span`, `div`, …) zu registrieren. (*Event delegation*{:@en} mal außen vor gelassen.) Ein großer Teil der Nutzer kann das mit Tastatur überhaupt nicht bedienen.
**Merke: Niemals nicht-interaktive Elemente als Target für `click-Events` vorsehen!** `click`-Events ausschließlich für interaktive Elemente wie `a`, `button`, `input` u.ä.
LLAP 🖖
--
“When UX doesn’t consider *all* users, shouldn’t it be known as ‘*Some* User Experience’ or... SUX? #a11y” —[Billy Gregory](https://twitter.com/thebillygregory/status/552466012713783297)
onclick auf dynamisch hinzugefügte ID
bearbeitet von
@@Pit
> geht so ein Kontrukt grundsätzlich nicht oder ist einfach ein Fehler drin?
>
> ~~~JavaScript
> $('#myDel').on('click', function(){
> $('#myVan' + ' .myButton').html("<span id='TDel'>Wirklich löschen?<span>");
> });
>
>
> $('#TDel').on('click', function(){
> console.log(this.id);
> $("#formDel").submit();
> });
>
> ~~~
Es geht **grundsätzlich** nicht.
`$('#myVan .myButton')`[^plus] ist das jQuery-Objekt zu einem Button-Element, nehme ich an? Dann wird der Eventhandler des inneren `span`s nie ausgeführt, sondern die Aktion, die auf dem `button`-Element liegt. ☞ [Codepen](https://codepen.io/gunnarbittersmann/pen/zPgwwa?editors=1011)
Das ist auch bei jQuery so. ☞ [Codepen](https://codepen.io/gunnarbittersmann/pen/KyOmyv?editors=1011)
[^plus]: Warum verkettest du da zwei Stringkonstanten anstatt gleich eine Stringkonstante hinzuschreiben?
Ansonsten ist **grundsätzlich falsch**, Eventhandler für nicht-interaktive Elemente (`span`, `div`, …) zu registrieren. (*Event delegation*{:@en} mal außen vor gelassen.) Ein großer Teil der Nutzer kann das mit Tastatur überhaupt nicht bedienen.
**Merke: Niemals nicht-interaktive Elemente als Target für `click-Events` vorsehen!** `click`-Events ausschließlich für interaktive Elemente wie `a`, `button`, `input` u.ä.
LLAP 🖖
--
“When UX doesn’t consider *all* users, shouldn’t it be known as ‘*Some* User Experience’ or... SUX? #a11y” —[Billy Gregory](https://twitter.com/thebillygregory/status/552466012713783297)