當您擁有包含單個字符的textarea '\n'
時,textarea在刪除該字符時不會觸發輸入事件。在我的情況下,我想用剩餘字符數來更新計數器,這種行爲會導致計數器顯示錯誤的信息。當刪除單個換行符時,Miscrosoft Edge textarea未觸發輸入事件
現場演示https://jsfiddle.net/k594e6rt/5/
HTML:
<label>Go into this textarea to the last row and press backspace. It won't trigger the input event despite deleting a char. This demonstrates a bug in the Edge browser.</label><br/>
<textarea id="bug" rows="3"></textarea><br/>
<label>Log:</label><br/>
<div id="log">---<br/></div>
JS:
/* setup */
var bug = document.getElementById('bug');
var problematicText = String.fromCodePoint(10); //newline
bug.value = problematicText
/* debugging setup */
var counter = 1;
var log = document.getElementById('log');
var logEvent = function logEvent(){
log.innerHTML += (counter++ + ': input fired! <br/>');
}
bug.addEventListener('input', logEvent)
編輯:邊緣版本:13.10586。 所以這個問題可能已經在最近的版本中已經修復。
編輯2:它被固定在Edge 14.14393中。
你的jsfiddle與我的邊緣瀏覽器一起工作。那裏沒問題。 – user5542121
也許這個想法有幫助,聽取密碼或改變而不是輸入。 似乎還不完美,http://caniuse.com/#feat=input-event 也許你可以在這裏找到問題: https://developer.microsoft.com/en-us/microsoft-edge/平臺/問題/ – user5542121