如何模拟输入框上的单击事件

时间:2019-07-22 19:11:43

标签: javascript

我正在尝试模拟输入框中的点击。手动单击时,将出现一个下拉自动建议框,作为有关过去搜索的建议。但是,当我尝试以编程方式模拟点击时,出现了“对象不支持点击方法”的错误。还有其他方法吗?我只需要单击事件和下拉的自动建议框。顺便说一句,这是我尝试通过Web控制台使用的Gmail邮箱中的Search Mail输入框。

我试图通过className调用click函数,但是它给我的错误是未定义或对象不支持click。这是我正在谈论的小部件:

  <input name="q" class="gb_cf" aria-haspopup="true" aria-owns="gs_sbt50" aria-live="off"  dir="ltr" spellcheck="false" aria-label="Search mail" type="text" placeholder="Search mail" value="" autocomplete="off">

  <input disabled="" class="gb_cf" id="gs_taif50" dir="ltr" autocomplete="off">

我尝试过的几件事:

    document.getElementbyClassName("gb_cf")[0].click(); 
    document.getElementbyName("q")[0].click();
    document.getElementbyId("gs_taif50").click();

它们都不起作用。有任何想法吗?

2 个答案:

答案 0 :(得分:1)

您需要使用.focus()而不是.click()

document.getElementbyClassName("gb_cf")[0].focus(); //or
document.getElementbyId("gs_taif50").focus();

答案 1 :(得分:0)

如果您要使用纯/本地javascript ,则可以使用input元素的onfocus属性来调用Js函数。

<script>
    function showButton(){
        document.getElementById('mybutt').style.display = "block";
    }
</script>

<body>
    <input id="myinp" type="text" placeholder="place" onfocus="javascript:showButton()"/> 
    <button id="mybutt" style="display:none;">OK</button>
</body>

在上面的文件中,当您单击输入字段时,应该看到“确定”按钮出现。