我正在编写一个用户脚本,它会在调用Ajax更新的按钮上显示.click(),加载后我需要.click()在这个Ajax更新加载的按钮上。
这是我正在使用的代码:
document.querySelectorAll('#main > div:nth-child(6) > input:nth-child(6)')[0].click();
setTimeout(function() { document.querySelectorAll('#main > div:nth-child(6) > input:nth-child(8)')[0].click(); }, 1000);
编辑:我忘了提到脚本在点击两页之间跳转。第一个工作,但第二个.click()返回我尝试.click()的按钮未定义。所以我认为我有一个糟糕的选择器并从Chrome开发工具中复制它。但问题仍然存在。有人建议将.click()放入Ajax回调中,但我还必须插入将此.click()插入到现在按钮的代码,它将永远存在。
答案 0 :(得分:0)
您的代码片段似乎已经遗漏了很多(也很高兴看到它的格式化)。在你的ajax电话中,你应该把它放在你的成功"块。
您希望触发按钮上已存在的侦听器的单击。首先,您将绑定您的侦听器,然后在用户操作上触发单击。
$.ajax({
url: 'MyURL',
contentType: 'YourContentType',
type: 'GETorPOST',
dataType: 'yourDataType'})
.success(function (result) {
$("#myButton").trigger("click");
OR
clickYourButtonFunction();
})
.error(function (xhr, status) {
console.log(status);
});