输入框不显示值+文本对齐问题

Input field does not display value + text alignment issue

我正在尝试实现活动文本输入字段。您将文件拖放到其中,字段应显示拖放文件的名称。很简单的任务,嗯。这是我的代码:

https://jsfiddle.net/zmej/jers8hf6/4/

如有任何帮助,我们将不胜感激。

对于问题 #1,您可以使用 .focus(),它会在最后设置光标。

对于#2,你可以使用getData试试这个

const z = document.getElementById('id');

z.addEventListener('drop', (e) => {
  e.preventDefault();
  const value = e.dataTransfer.getData("text");
  z.value= value;
  z.focus();
});

当为值使用 set 属性时,它会将 value=”something” 添加到 HTML 输入元素。这意味着它正在设置始终被任何手动输入覆盖的初始值。

要滚动到末尾,您可以使用 JS scrollLeft 并将其设置为大于输入元素宽度的像素值。

所以,替换

el.setAttribute('value', f.name);

在你的 JavaScript 和

el.value = f.name;
el.scrollLeft = 1000;

将解决这两个问题。