简体   繁体   中英

How to execute this function without clicking on a button

So this is a part of greasemonkey userscript. It's an adviser for an online game. At the end of it i've got this:

function do_login() {
    // var loc = reg2.exec(document.location.href);

    //Auto backing to login page
    if (document.location.href.search("logout") != -1) {
        window.setTimeout(function () {
            document.location.href = "http://www" + gamepage;
        }, 100);
    }
    else {
        //login
        try {
            var logindata = explode(GM_getValue("logindata", "[]"));
        }
        catch (err) {
            var logindata = new Array;
        }

        unsafeWindow.showDiv("login_div");
        $("login_div").style.zIndex = "20";
        $("login_div").getElementsByClassName("kh_btn")[0].addEventListener("click", function () {
            var currServer = $("l_server").value;
            var currUser = $("l_loginname").value.toLowerCase();
            GM_setValue(lng + "_" + currServer + "_username", currUser);
        }, false);

        function submit_login(currUserNr) {
            $("l_server").value = logindata[currUserNr][1];
            $("l_loginname").value = logindata[currUserNr][2];
            $("l_password").value = logindata[currUserNr][3];
            $("login_div").getElementsByClassName("kh_btn")[0].click();
        }

        var newdiv = createElement("div", {style: "position:absolute;top:0px;left:0px;width:412px;padding:10px;background-color:#999;-moz-border-radius:10px;"}, $("login_div"));

        for (var v = 0; v < logindata.length; v++) if (logindata[v][1] != "0") {
            var newbutton = createElement("button", {type: "button", class: "cursorclickable", id: "autologin" + v, style: "width:200px;height:20px;margin:3px;"}, newdiv, texte["server"] + " " + logindata[v][1] + "." + logindata[v][0] + ": " + logindata[v][2]);
            newbutton.addEventListener("click", function () {
                submit_login(this.id.replace("autologin", ""));
            }, false);
        }
        newdiv = null;
        newbutton = null;
    }
}

It's executed when script finds "logout" in the url.

Now, everything works, it's entering main-page, creating a button, the button itself works, but now i would like to execute "onlick" automatically.

您可以选择元素,然后调用.click()方法:

document.querySelector('#myElement')[0].click();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM