在Firefox中禁用输入类型:文件的Javascript“单击”事件

时间:2013-12-20 11:49:07

标签: firefox

我想让输入类型=“文件”变得可用,并且仅在我点击某个元素时单击,该元素也被激活(例如,程式化的跨度)。

为此我在span上有Javascript参数:

onclick="document.getElementById('upload_hidden').Disabled = false;     
document.getElementById('upload_hidden').Click();"

但问题是在Firefox中只有第一次单击才会删除输入属性,第二次 - 打开文件选择窗口。在Chrome中 - 一切正常:输入已启用,并在第一次点击时点击。

为什么,首次点击Firefox不起作用? :(

http://jsfiddle.net/ey47G/

P.S。在firefox v21中 - 一切OK。 Firefox v25和v26 - 有这个麻烦。

1 个答案:

答案 0 :(得分:1)

我可以想象当它试图点击按钮时脚本已经领先 - 但按钮仍然被禁用

var f = document.getElementById('f');
var s = document.getElementById('s');

s.onclick = function () {
  f.removeAttribute('disabled');
  setTimeout(function(){ f.click(); }, 100); // run the explorer after 100 ms
}

这确实有效。

http://plnkr.co/edit/9syOfSJHaJ4b3bhRufpv?p=preview