本文介绍了JavaScript 函数执行过快的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在下面的例子中,myFonk 被立即调用;它不等待点击事件.为什么不呢?

In the example below, myFonk is called instantly; it doesn't wait for the click event. Why not?

    function myFonk(info) {
        $("#result").html(info);
    }

    function getText(text) {
        return function () {
            myFonk(text);
        }
    }

    $(document).ready(function () {
        $("#b1").click(getText("getText"));
        $("#b2").click(myFonk("myFonk"));
    });

推荐答案

每当我们用 () 写函数名时,它会立即调用该函数因此myFonk("myFonk") 不是正确的方法..

Whenever we write the function name with () it calls that function instantlyhencemyFonk("myFonk") is not correct way..

按照以下方式写.

function myFonk(info) {
    $("#result").html(info);
}

function getText(text) {
    return function () {
        myFonk(text);
    }
}

$(document).ready(function () {
    $("#b1").click(getText("getText"));
    $("#b2").click(function () {
        myFonk("myFonk")
    });
});

这篇关于JavaScript 函数执行过快的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-09 13:50