在输入元素的输入事件中修改元素的值时,Safari 浏览器中不会触发更改事件。
我使用了下面的代码块
`<input type="text" id="textid"\>
<script\>
var textcase = document.getElementById('textid');
textcase.addEventListener('input', function(args) {
document.getElementById('textid').value =document.getElementById('textid').value + "#";
});
textcase.addEventListener('change', function(){
console.log('Change evet triggered');
});
</script\> `
复制过程:
预期行为:
我刚刚在 Safary 中遇到了同样的问题。 Firefox 和 Chrome 工作正常,但 Safari 不行。
你找到解决办法了吗?
到目前为止我能找到的唯一方法是手动创建“更改”事件并通过
element.dispatchEvent
处理程序中的 input
触发它。但就我而言,使用这个解决方案我无法实现我的目标,所以它不是我的选择。