2017-02-20 2 views
3

Gibt es irgendwelche Ereignisse, die auf form Elemente ausgelöst werden, wenn ein Benutzer Eingabe über die MacBook Touchleiste eingibt?Formulareingabeereignisse für Macbook-Touchbar

Hier ist ein trivial example:

<textarea id="textarea"></textarea> 

(function($) { 
    $('#textarea') 
    .on('keyup', function() { 
     console.log('keyup'); 
    }) 
    .on('keydown', function() { 
     console.log('keydown'); 
    }) 
    .on('keypress', function() { 
     console.log('keypress') 
    }); 
})(jQuery); 

Auf Safari, wenn ich "Typ" den Touch Bar (zB auf Emojis oder autosuggested Text tippen), sehe ich nicht jede Ereignisse im Web Inspektor-Konsole. Die normale Tastatur löst jedoch die Ereignisse keydown, keypress und keyup wie erwartet aus.

+1

Haben Sie versucht, die ' 'input'' Ereignis? –

Antwort

2

Es sieht nicht so aus, als ob die Touchbar Schlüsselereignisse auslöst.

würde Eine Alternative zum input event zu hören sein.

Wie von den zuständigen MDN documentation angegeben, wird das Ereignis ausgelöst, wenn der Wert geändert wird, was bedeutet, dass es funktionieren wird, wenn die Touch-Leiste des input/textarea Wert ändert.

Das DOM Eingangsereignis wird synchron ausgelöst, wenn der Wert eines <input> oder <textarea> Element geändert wird.

Verbrauch:

document.querySelector('textarea').addEventListener('input', function (event) { 
    // ... 
}); 

oder ...

$('textarea').on('input', function (event) { 
    // ... 
}); 
Verwandte Themen