尝试在元素出现时执行单击功能
Trying to perform a click function when an element appears
基本上,我在一个网站上工作,该网站在表单完成后会显示一个提交按钮。我想要的是创建一个功能,每当提交按钮出现时,它都会自动点击(没有选择倒退和审查工作,所以我甚至不知道为什么会出现)。我已经在chrome上使用了一个带有Tampermonkey的用户脚本,我想添加最后一部分来加快速度。
因此,这个网站上html中特定提交按钮的代码是:
<form style="width:auto;" id="siteform" action="https://www.example.com" method="post">
<!--
<input type="hidden" id="numTags" name="numTags" value="< %= numTags %>" />
<input type="hidden" id="numMaps" name="numMaps" value="< %= current_map_count %>" />
<input type="hidden" id="numQuestions" name="numQuestions" value="< %= current_question_count %>" />
<input type="hidden" id="challenge" name="challenge" value="< %= challenge %>" />
-->
<input type="hidden" id="assignmentId" name="assignmentId" value="3WSELTNVR4VI8OKXJT4767WDMN3ATT">
<input type="hidden" id="hitId" name="hitId" value="3H1C3QRA01C1P014N961OWQHFGQCEF">
<input type="hidden" id="workerId" name="workerId" value="id1">
<button type="submit">Finished! Click here to submit HIT</button>
</form>
我能找到的最接近我需要的东西是使用功能
if ($(#'element').is(':visible')){}
虽然这在理论上是我想要的,但它不起作用。例如,我试过
if ($("button[type='submit']").is(':visible')){
$("button[type='submit']").click();
}
运气不好。我对javascript和jQuery还很陌生,所以我的搜索可能没有出现任何结果,因为我还在学习行话。有什么建议吗?感谢
document.getElementById('siteform').submit();
无需处理点击按钮的问题,只需使用提交功能即可。
我认为您的问题不是将js代码包装在Jquery的document.ready
中,如下所示:
$(document).ready(function(){
if ($("button[type='submit']").is(':visible')){
$("button[type='submit']").click();
}
});
或
$(function(){
if($("button[type='submit']").is(':visible')){
$("button[type='submit']").click();
}
});
JSFiddle
不要忘记将JQuery库添加到您的html页面:
<head>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
如果你朝着正确的方向前进,让我们看看直接提交表单是否有效,而不是尝试点击按钮。。。
$(document).ready(function(){
var $form = $('#siteform');
if ($form.find('button[type="submit"]').is(':visible')) {
$form.trigger('submit');
}
});
相关文章:
- 单击元素两次后执行操作
- 单击函数仅对某些数据名称执行
- 单击Dojo按钮执行PHP脚本
- 只要用户将鼠标悬停在jQuery中的某个元素上,就可以执行多次单击
- 不同'单击'不同脚本中的回调:我可以控制执行顺序吗
- 如何防止jQuery中复选框单击时执行多个代码
- 仅对 CSS 类下的一个按钮执行单击事件
- 单击事件执行单击和悬停事件处理程序,即使单击事件处理程序取消绑定所有处理程序也是如此
- 如何使用单个按钮执行单击事件以选择不同的 DIV
- 如何在 jQuery 元素完全加载后执行单击事件
- 无法对动态创建的 html 元素执行单击事件
- 将href执行单击延迟到ajax调用之后
- 尝试在元素出现时执行单击功能
- 执行单击RadioButtonList ListItem
- 无法对动态生成的表执行单击操作
- 执行单击或双击.不是两者都有
- 在传递参数时,如何让setInterval()从函数内部执行单击
- ExtJS 按钮 2 上单击执行单击按钮 1 按组件
- 在Java中执行单击的最快方式
- 使用javascript或jquery在禁用按钮上执行单击事件