我的HTML是:
<input type="text" id="textinput" name="textinput">
<input type="file" id="fileinput" name="fileinput" hidden>
我的Javascript是:
$('#textinput').on('focus', function () {
console.log("focused");
$('#fileinput').click();
});
所以,你可能知道我想做什么,聪明的人。 我想隐藏我的一个输入(type =“file”)元素并使用另一个输入(type =“text”)元素来上传文件。
但是,我无法像上面的代码那样在焦点事件中调用click事件,而我仍然可以在控制台中获得“聚焦”消息。
为什么我不能在焦点事件中触发click事件? (但我可以从另一个点击事件中触发点击事件。)
感谢您将来的帮助!
答案 0 :(得分:1)
谢谢@Pranav C Balan,让我知道捷径。
我试过这个。它似乎对我有用。所以我认为代码的其他部分存在一些错误。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
</head>
<body>
<input type="text" id="textinput" name="textinput">
<input type="file" id="fileinput" name="fileinput" hidden>
<script type="text/javascript">
$('#textinput').on('focus', function () {
console.log("focused");
$('#fileinput').click();
});
</script>
</body>
</html>