2016-04-06 13 views
0

Ich möchte Fokus auf eine Textarea verwenden, den Wert der angeklickten Schaltfläche, die den Fokus verursachte, verwerfen, und klicken Sie es später nach einiger Verarbeitung. Meine Lösung funktioniert auf allen Geräten außer iPhone und iPads. Kann jemand erklären, warum das Event.relatedTarget auf Touchscreens null ist? Oder ist es der Browser? Was gibt es sonst noch zu benutzen?Event.relatedTarget ist Null auf Fokus auf Touchscreen

Ich habe versucht, e.currentTarget und document.activeElement (gibt den gesamten HTML-Body) sowie versuchen, SetTimeout um meine Verwendung von e.currentTarget. Ich kann nicht die ID der angeklickten Taste in meinem Fokus auf iPads und iPhones bekommen.

Hier ist ein Beispiel:

<div id="resultPage"> 
    <textarea id="txtAnswer0" class="txtAnswer"></textarea> 

    <button id="goNow"> 
    GO 
    </button> 
</div> 

$(document).ready(function() { 


    $("#resultPage").on("focusout", ".txtAnswer:not(input[type=radio], input[type=checkbox])", function(e) { 

    var targetCtrl = e.relatedTarget; 

    alert(targetCtrl); 
    }); 

});

Hier ist meine Geige:

https://jsfiddle.net/awebster28/6q6ok4re/25/

Antwort

0

In meiner Forschung habe ich gelernt relatedTarget nur auf Mausereignisse sein soll. Wenn relatedTarget in einem Nicht-Maus-Ereignis nicht null ist, dann folgt der Browser nicht den Standards.

Wahrscheinlich müssen Sie die Schaltfläche und/oder den Wert der Schaltfläche in einer Variablen bei Klick vorübergehend speichern, damit sie später mit dem zweiten Klick verwendet werden kann.