3

长话短说,我需要能够防止来自input type="file". 换句话说,当用户单击“浏览”或“选择文件”时,我不想显示系统的打开对话框。我已经让替换对话框工作了,但系统的打开对话框仍然出现。

以下是我目前正在尝试实现的示例。(PS:我使用的是 Chrome 21)

<html>
<head>

<script type="text/javascript">
<!--

 file_onclick = function()
 {
  // Show custom dialog instead...
  event.stopPropagation(); // Doesn't work
  return false; // Neither does this
 };

//-->
</script>

</head>
<body>
  <input type="file" onclick="javascript: file_onclick();" />
</body>
</html>

有任何想法吗?

4

2 回答 2

4

怎么样

<input type="file" onclick="return false" />

或者如果您需要该file_onclick功能

<html>
<head>

<script type="text/javascript">
<!--

 file_onclick = function()
 {
  // Show custom dialog instead...
  return false; 
 };

//-->
</script>

</head>
<body>
  <input type="file" onclick="return file_onclick();" />
</body>
</html>
于 2012-09-23T18:35:59.007 回答
3

知道了。我需要禁用标签,然后使用该setTimeout方法重新启用它。

<html>
<head>

<script type="text/javascript">
<!--

 file_onclick = function(o)
 {
  // Show custom dialog instead...

  o.disabled = true;
  setTimeout(function() { o.disabled = false; }, 1);
 };

//-->
</script>

</head>
<body>
  <input type="file" onclick="javascript: file_onclick(this);" />
</body>
</html>
于 2012-09-24T21:06:56.630 回答