【问题标题】:Auto click a button自动单击按钮
【发布时间】:2018-03-23 16:45:28
【问题描述】:

我想在页面加载后使用 greasmonkey 自动单击按钮。 此按钮具有以下属性:

<button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>

此代码有效,但重新加载页面时它不起作用。

此按钮在第一次加载页面时具有此属性:

<button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>

然后第二次重新加载页面有这个属性:

<button style="outline: 1px solid blue;" id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>

【问题讨论】:

  • 在你的函数中添加一个警报,看看它是否真的被点击了
  • 为什么要事件调用事件调用函数而不是在 DOM 就绪时调用 StartVisit(1)?
  • @NoOorZ24 可能附加了其他事件监听器
  • @AyushGupta StartVisit(1) 可以调用其他函数 - 按钮单击脚本似乎不是最好的解决方案

标签: javascript jquery html


【解决方案1】:

您可以通过$(window).load(function(){..});进行操作

$(window).load(function(){
  $("#btnStartVisit").trigger("click");
});

工作 sn-p:-

$(window).load(function(){
  $("#btnStartVisit").trigger("click");
});

function StartVisit(id){
 alert(id);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>

注意:-

你也可以使用$(document).ready(function(){$("#btnStartVisit").trigger("click");});

你也可以使用&lt;body onload ="StartVisit(1)"&gt;

【讨论】:

  • @AyushGupta OP 说:- auto click a button after page load.
  • @dheerajKumar 很高兴为您提供帮助:):)。顺便说一句,您可以按照我的建议尝试其他 otipns,以检查它们是否有效。将来会帮助你。
【解决方案2】:

您可以使用以下脚本。

$(document).ready(function(){
  $("#btnStartVisit").trigger("click");
});

在页面加载时会触发按钮的点击事件。

【讨论】:

    【解决方案3】:

    这可能会对您有所帮助。你可以使用onload() 事件作为这个

    function StartVisit(x){
     console.log("click " +x);
    }
    <body onload="StartVisit(0)">
    <button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>
    </body>

    或使用 jQuery 事件

    $(document).ready(function(){
        $("#btnStartVisit").trigger("click");
    });
    
    function StartVisit(x){
        console.log("click " +x);
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit
        <i class="material-icons dp48 left">flash_on</i>
    </button>

    【讨论】:

      【解决方案4】:

      你的 js 函数必须在 DOM 完全加载时执行。 ready() 指定在 DOM 完全加载时执行的函数。

      $(document).ready(function(){
        $("#btnStartVisit").trigger("click");
      });
      
      function StartVisit(id){
        console.log(id);
      }
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      <button id="btnStartVisit" onclick="StartVisit(1)" class="btn waves-effect waves-light green">start visit<i class="material-icons dp48 left">flash_on</i></button>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-06-13
        • 1970-01-01
        • 2023-03-22
        • 2015-06-01
        • 2017-02-06
        • 2021-05-15
        • 2012-05-17
        • 1970-01-01
        相关资源
        最近更新 更多