总而言之,我需要能够阻止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>
有什么想法吗?
答案 0 :(得分:2)
怎么样
<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>
答案 1 :(得分:0)
知道了。我需要禁用标记,然后使用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>