1 回答

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您想在第二個(gè)文本區(qū)域輸入后更改第三個(gè)文本區(qū)域輸入,與第一個(gè)文本區(qū)域的工作方式相同,請嘗試以下操作:
<textarea?name=""?id="a"?cols="30"?rows="10"></textarea> <textarea?name=""?id="b"?cols="30"?rows="10"?oninput="changeText()"></textarea> <textarea?name=""?id="c"?cols="30"?rows="10"></textarea>
輸入事件:
該事件與 onchange 事件類似。不同之處在于 oninput 事件在元素的值更改后立即發(fā)生,而 onchange 在內(nèi)容更改后元素失去焦點(diǎn)時(shí)發(fā)生。另一個(gè)區(qū)別是 onchange 事件也適用于元素。
編輯:
如果您需要檢測 JS 觸發(fā)的更改而不是用戶觸發(fā)的更改,可能是添加事件調(diào)度的最佳方法
const first = document.getElementById("a");
const second = document.getElementById("b");
const third = document.getElementById("c");
const event = new Event('input', {
? ? bubbles: true,
? ? cancelable: true,
});
first.addEventListener("input", () => {
? second.value = first.value;
? second.dispatchEvent(event);
});
second.addEventListener ('input', () => {
? third.value = second.value;
});
除了手動(dòng)觸發(fā)之外,我沒有找到任何方法可以在非用戶本人的更改時(shí)從文本區(qū)域觸發(fā)事件
添加回答
舉報(bào)