在Vaadin Paper输入文件中的文件浏览窗口打开操作中触发了哪个事件

时间:2016-09-29 12:38:50

标签: java gwt polymer vaadin polymer-1.0

我想排除文件类型为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();
        }
    });

1 个答案:

答案 0 :(得分:0)

Polymer Elements doc说明:

  

纸张输入可以使用native type = search或type = file功能。但是,因为我们无法控制输入的本机样式(搜索图标,文件按钮,日期占位符等),在这些情况下,标签将自动浮动。占位符属性仍可用于其他信息文本。

话虽如此,我不确定它是否可以从容器中取出。

也读这个:

为什么不能以编程方式触发文件输入选择?

  

大多数浏览器阻止在输入字段不提交时提交文件   接收直接点击(或键盘)事件作为安全预防措施。   某些浏览器(例如Google Chrome)只是阻止点击事件,   例如Internet Explorer无法提交任何已存档的文件   由编程触发的文件输入字段选择。 Firefox 4   (以及后来)是迄今为止唯一一个完全支持调用的浏览器   &#34;单击&#34; - 完全隐藏(显示:无)文件输入的事件   字段。