.click()函数有问题。 我想在页面加载时激活复选框(使用javascript),并且该复选框将激活用于产品排序的某些功能。问题是“ .click()”函数仅标记复选框(不包含调用函数),但是当我单击复选框时,一切正常。
var globalID = getQueryVariable("id");
console.log(globalID);
var classname = document.getElementsByClassName("jet-checkboxes-list__input");
for (var i = 0; i < classname.length; i++) {
if(classname[i].value == globalID) {
classname[i].click(); // <=======================================================!!!!!!!
break;
}
}
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
答案 0 :(得分:1)
好,我找到了解决方法。
此功能和计时器setTimeout(function(){ eventFire(classname[i], 'click'); }, 500);
function eventFire(el, etype){
if (el.fireEvent) {
el.fireEvent('on' + etype);
} else {
var evObj = document.createEvent('MouseEvents');
evObj.initEvent(etype, true, false);
var canceled = !el.dispatchEvent(evObj);
if (canceled) {
// A handler called preventDefault.
console.log("automatic click canceled");
} else {
// None of the handlers called preventDefault.
}
}
}