单击动态修改的 Button?
Click a Button that's dynamically modified?
目标页面有这个来源:
jQuery(function () {
var delay = 1000; //1 sn
var id = "0b9cfb9f62ef7a2";
jQuery.ajax({
"method":"get",
"url":"?ajax="+id,
"success": function (json) {
//alert(json);
json = JSON.parse(json);
setTimeout(function(){
if(json.data != ""){
jQuery("#button").attr("class","btn btn-block btn-danger");
jQuery("#button").text(json.data);
}else{
jQuery("#button").click(function(){location.href=json.url});
jQuery("#button").attr("class","btn btn-block btn-success");
jQuery("#button").text("Download!");
}
},delay);
},
"error":function(){
alert("XXX");
}
});
});
我想做的是点击 下载! 按钮几秒钟后出现。
我尝试使用此代码:
waitForKeyElements ("#button:contains('Download')", clickSubmitBtnWhenItAppears);
function clickSubmitBtnWhenItAppears (jNode) {
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
jNode[0].dispatchEvent (clickEvent);
}
但是没用!我认为问题出在 #button
,但我无法弄清楚。抱歉我的 JS 知识薄弱。
您的代码正在等待 #button
的存在。它需要做的是等待 both 等待 #button
和 按钮具有文本 "Download"。
在这种情况下,您只需像这样调整 jQuery 选择器就可以做到:
waitForKeyElements ("#button:contains('Download')", clickSubmitBtnWhenItAppears);
对于更复杂的情况,您可能需要 。
目标页面有这个来源:
jQuery(function () {
var delay = 1000; //1 sn
var id = "0b9cfb9f62ef7a2";
jQuery.ajax({
"method":"get",
"url":"?ajax="+id,
"success": function (json) {
//alert(json);
json = JSON.parse(json);
setTimeout(function(){
if(json.data != ""){
jQuery("#button").attr("class","btn btn-block btn-danger");
jQuery("#button").text(json.data);
}else{
jQuery("#button").click(function(){location.href=json.url});
jQuery("#button").attr("class","btn btn-block btn-success");
jQuery("#button").text("Download!");
}
},delay);
},
"error":function(){
alert("XXX");
}
});
});
我想做的是点击 下载! 按钮几秒钟后出现。
我尝试使用此代码:
waitForKeyElements ("#button:contains('Download')", clickSubmitBtnWhenItAppears);
function clickSubmitBtnWhenItAppears (jNode) {
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
jNode[0].dispatchEvent (clickEvent);
}
但是没用!我认为问题出在 #button
,但我无法弄清楚。抱歉我的 JS 知识薄弱。
您的代码正在等待 #button
的存在。它需要做的是等待 both 等待 #button
和 按钮具有文本 "Download"。
在这种情况下,您只需像这样调整 jQuery 选择器就可以做到:
waitForKeyElements ("#button:contains('Download')", clickSubmitBtnWhenItAppears);
对于更复杂的情况,您可能需要