【问题标题】:Physical mouse click vs simulated button click?物理鼠标点击与模拟按钮点击?
【发布时间】:2017-03-08 15:22:57
【问题描述】:

你好 Stackoverflow!

我正在尝试使用 chrome 扩展脚本来单击页面按钮以触发 AJAX 请求,但是似乎物理单击所述按钮与使用以下按钮不同:

document.getElementsByTagName('input')[10].click();

getElements 行的结果是这样的:

<input type="submit" value="Continue ...">

使用 document.forms 有点工作,但不幸的是重新加载页面,当点击事件触发 Ajaxrequest 时不会发生这种情况。

document.forms[1].submit();

调用表单返回以下内容:

<form
action="/battle.php" method="post" name="2913" id="2913" onsubmit="get('/battle.php', '', this);
disableSubmitButton(this);
return false;">…</form>

对于像我这样的初学者程序员来说似乎并不明显,为什么要使用 .click();在 F12 控制台(chrome)中与物理点击有任何不同。此外,我已经验证(或多或少)屏幕上的按钮实际上是我使用 getElementsByTagName('input') 调用的那个按钮。

【问题讨论】:

    标签: javascript google-chrome button click


    【解决方案1】:

    页面重新加载,因为按钮的类型是“提交”。您可以将事件处理程序附加到可以提交表单而无需重新加载页面的“单击”按钮。您的代码将如下所示:

    使用 JQuery:

    $('#submitButton').on('click', function(e){
       e.preventDefault(); // stops default submit
       $('#2913').submit(); // or the ID of your form
    });
    

    您的 HTML 将是:

    <input type="button" value="Continue ..." id="submitButton">
    

    【讨论】:

      猜你喜欢
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多