单击带有js的复选框

时间:2019-11-27 16:42:45

标签: javascript wordpress elementor

.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);
}

1 个答案:

答案 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.
    } 
  }
}