Der Aufruf von „dispatchEvent(clickEvent)“ für ein Textfeld funktioniert nichtHTML

HTML-Programmierer
Guest
 Der Aufruf von „dispatchEvent(clickEvent)“ für ein Textfeld funktioniert nicht

Post by Guest »

Ich habe ein sehr konstruiertes Beispiel, in dem ich programmgesteuert ein Klickereignis für ein Textfeld generieren möchte, wenn ein Benutzer auf eine Schaltfläche klickt. Ich kann sehen, dass das Textfeld das Ereignis erhält, aber der Fokus ändert sich nicht zum Textfeld.
Ich weiß, dass ich focus() aufrufen kann, aber mein Ziel ist es, „dispatchEvent“ zu verwenden Nur und Mausereignisse.
Dies kommt von einer großen App, bei der ich einen transparenten IFrame über die gesamte Seite habe (stellen Sie sich eine transparente Ebene mit einigen benutzerdefinierten Inhalten über Google Maps vor). Der Inhalt des IFrames kann von einem Dritten stammen, der sich dafür entscheiden kann, entweder das Klickereignis zu verarbeiten oder es an das übergeordnete Element weiterzugeben (ähnlich wie ein Aufsprudeln, aber über Frame-Grenzen hinweg).
Dabei ist mir aufgefallen, dass einige Elemente auf der übergeordneten Seite (wie Textfelder und Schaltflächen) verhalten sich nicht so, wie ich es normalerweise erwarten würde, daher habe ich dieses kleine Beispiel erstellt, um das Problem zu veranschaulichen.

Code: Select all

function handleClick(event)
{
let textbox = document.getElementById('text');
let rect = textbox.getBoundingClientRect();

let newEvent = new MouseEvent('click', {
clientX: rect.x + 5,
clientY: rect.y + 5,
x: rect.x + 5,
y: rect.y + 5,
pageX: rect.x + 5,
pageY: rect.y + 5
});

textbox.dispatchEvent(newEvent);
}

Code: Select all


Click

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post