gpt4 book ai didi

javascript - 如何使用现代浏览器(具有shadowDOM内部编辑器)清除输入元素?

转载 作者:太空宇宙 更新时间:2023-11-04 15:36:58 26 4
gpt4 key购买 nike

  document.getElementById('taginput').addEventListener('paste',function(e){
var clipboardData, pastedData, inputdata, tempData, tempTags = [], currentTags = [], out = '';
clipboardData = e.clipboardData || window.clipboardData;
pastedData = clipboardData.getData('Text');
inpudata = document.getElementById('taginput').value + pastedData;
tempData = pastedData.split(',');
for (var i = 0; i < tempData.length - 1; i++) {
if(tempTags.indexOf(tempData[i].trim()) === -1) tempTags.push(tempData[i].trim());
}
Array.prototype.slice.call(document.getElementsByTagName('dynamictags')[0].children).forEach(function(data){
currentTags.push(data.innerText);
});
tempTags.forEach(function(data){
if (currentTags.indexOf(data) === -1) out += '<res>' + data + '</res>';
});
document.getElementsByTagName('dynamictags')[0].innerHTML = document.getElementsByTagName('dynamictags')[0].innerHTML + out;
this.value = '';
this.value = tempData[tempData.length - 1].trim();
}, false);

这是我当前的代码,此实现的问题是 this.value = '' 不会重置输入字段,并且 this.value = tempData[tempData.length - 1].trim();
}, false);
将简单地在输入字段中的用户输入之前添加新文本。

例如,如果我将apple,apple,orange,banana粘贴到字段中,它将保留并添加香蕉并成为banana apple,apple,orange,banana .

最佳答案

对于 Shadow-DOM 浏览器,你需要这个:

setTimeout(function(){
document.getElementById('taginput').value = tempData[tempData.length - 1].trim();
},0);

关于javascript - 如何使用现代浏览器(具有shadowDOM内部编辑器)清除输入元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44262616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com