JQuery:如何从焦点事件中调用click事件?

时间:2016-07-16 06:34:50

标签: javascript jquery

我的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事件? (但我可以从另一个点击事件中触发点击事件。)

感谢您将来的帮助!

1 个答案:

答案 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>