我想排除文件类型为Vaadin Paper Input的“选择文件”按钮,并使用标准Vaadin纸张输入执行相同的操作 即,点击标准的Vaadin纸张输入,我想打开浏览器窗口。
我尝试从标准Vaadin纸张输入的点击事件模拟点击事件和焦点事件的Vaadin Paper输入类型文件。 焦点和点击都按预期正常工作,但浏览器窗口没有打开。
我的原型代码看起来像这样,通过这段代码,我能够模拟焦点事件。同样,我尝试了点击事件,但它没有达到我的期望。
final PaperInput text = new PaperInput();
text.setLabel("Text Box");
text.setAlwaysFloatLabel(true);
final PaperInput filePaperInput = new PaperInput();
filePaperInput.setLabel("File");
filePaperInput.setType("file");
filePaperInput.setAlwaysFloatLabel(true);
text.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
filePaperInput.getElement().<InputElement> cast().focus();
}
});
答案 0 :(得分:0)
Polymer Elements doc说明:
纸张输入可以使用native type = search或type = file功能。但是,因为我们无法控制输入的本机样式(搜索图标,文件按钮,日期占位符等),在这些情况下,标签将自动浮动。占位符属性仍可用于其他信息文本。
话虽如此,我不确定它是否可以从容器中取出。
也读这个:
为什么不能以编程方式触发文件输入选择?
大多数浏览器阻止在输入字段不提交时提交文件 接收直接点击(或键盘)事件作为安全预防措施。 某些浏览器(例如Google Chrome)只是阻止点击事件, 例如Internet Explorer无法提交任何已存档的文件 由编程触发的文件输入字段选择。 Firefox 4 (以及后来)是迄今为止唯一一个完全支持调用的浏览器 &#34;单击&#34; - 完全隐藏(显示:无)文件输入的事件 字段。