Edge reagiert nicht

  • JavaScript

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Link.

    Edge reagiert nicht

    Hallo Forum,

    hab ein simples JSON Client und Serverseitig.

    HTML-Quellcode

    1. @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control inputChange" } })

    HTML-Quellcode

    1. $('.inputChange').change(function () {
    2. var name = $('.inputChange').val();
    3. $.getJSON('/Verein/GetChange/', { name: name }, function (data) {
    4. if (data.Success)
    5. {
    6. alert(data.Message);
    7. }
    8. else {
    9. alert("BAD !!!");
    10. }
    11. });
    12. });

    C#-Quellcode

    1. public ActionResult GetChange(string name)
    2. {
    3. var result = new { Success = "True", Message = "Ein Wert" };
    4. return Json(result, JsonRequestBehavior.AllowGet);
    5. }


    Alle Brwoser (Firefox, Opera und Internet Explorer) geben mir das erwartete Ergebnis zurück.
    Einzig Edge reagiert erst einmal nicht, warum ?

    ​Edge registriert nicht einmal das Change über die Klasse "inputChange" !

    Gruss

    mikeb69
    Guten Morgen Michael,

    möglicherweise hilft's was, mal den Event-Listener umzuschreiben:

    jQuery(document).on('change', '.inputChange', function(){ /* your code here */ });

    Wenn du (ausgehend von .inputChange) ein übergeordnetes Element mit eindeutiger ID hast (div#MeinContainer), wär es besser, anstatt "document" so zu schreiben:

    jQuery('#MeinContainer').on('change', '.inputChange', function(){ /* your code here */ });

    Damit ist der Selektor eindeutiger und du sparst Performance, weil nur innerhalb von #MyContainer auf Events gelauscht wird, und nicht im ganzen Dokument.

    Ein cooler Nebeneffekt ist, dass so auch auf Events für Elemente reagiert werden kann, die dynamisch erstellt oder erst später via AjAX geladen werden. (Bis jQuery 1.7 oder so gab's hierfür live(), aber das wurde in Version 1.9 abgeschafft). Du kannst übrigens mehr als nur ein Event angeben, indem du sie einfach mit Leerzeichen trennst ("change click mouseover" z.B.).

    PS: hat nix hiermit zu tun, aber auf deiner Vereinshomepage wird ein Alert ausgegeben (Längen- und Breitengrade).


    Link :thumbup:
    Hello World

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „Link“ ()