add_task(async function basic() {
const tests = [
{ id: "a1", hint: "maybenext", desc: "next element is type=text" },
{ id: "a2", hint: "go", desc: "next element is type=submit" },
{ id: "b1", hint: "search", desc: "current is type=search" },
{ id: "c1", hint: "go", desc: "only this element" },
{ id: "d1", hint: "maybenext", desc: "next element is textarea" },
{ id: "e1", hint: "maybenext", desc: "next element is type=number" },
{ id: "h1", hint: "go", desc: "next element is readonly" },
// XXX Feel free to change this result if you get some bugs reports
{ id: "i1", hint: "go", desc: "next element is disabled" },
{ id: "j1", hint: "", desc: "no form element" },
{ id: "l1", hint: "enter", desc: "enterkeyhint=enter" },
{ id: "l2", hint: "done", desc: "enterkeyhint=DONE" },
{ id: "l3", hint: "go", desc: "enterkeyhint=go" },
{ id: "l4", hint: "next", desc: "enterkeyhint=Next" },
{ id: "l5", hint: "previous", desc: "enterkeyhint=Previous" },
{ id: "l6", hint: "search", desc: "enterkeyhint=search" },
{ id: "l7", hint: "send", desc: "enterkeyhint=send" },
{ id: "l8", hint: "previous", desc: "type=number enterkeyhint=previous" },
// type=date is readonly content
{ id: "l9", hint: "", desc: "type=date enterkeyhint=done" },
// type=time is readonly content
{ id: "l10", hint: "", desc: "type=time enterkeyhint=done" },
// Since enterkeyhint is invalid, we infer action hint. So feel free to change this.
{ id: "l11", hint: "go", desc: "enterkeyhint is invalid" },
];
const todo_tests = [
{ id: "f1", hint: "maybenext", desc: "next element is type=date" },
{ id: "k1", hint: "", desc: "next is anchor link" },
];
for (let test of tests) {
document.getElementById(test.id).focus();
is(SpecialPowers.DOMWindowUtils.focusedActionHint, test.hint, test.desc);
}
for (let test of todo_tests) {
document.getElementById(test.id).focus();
todo_is(SpecialPowers.DOMWindowUtils.focusedActionHint, test.hint, test.desc);
}
});
add_task(async function dynamicChange() {
let element = document.getElementById("l1");
element.focus();
is(SpecialPowers.DOMWindowUtils.focusedActionHint, "enter", "Initial enterKeyHint");
element.setAttribute("enterkeyhint", "next");
is(SpecialPowers.DOMWindowUtils.focusedActionHint, "next", "enterKeyHint in InputContext has to sync with enterkeyhint attribute");
element.enterKeyHint = "search";
is(SpecialPowers.DOMWindowUtils.focusedActionHint, "search", "enterKeyHint in InputContext has to sync with enterKeyHint setter");
// Storing the original value may be safer.
element.enterkeyhint = "enter";
document.getElementById("l2").enterKeyHint = "done";
});
</script>
</pre>
</body>
</html>
Messung V0.5
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.