繁体   English   中英

在Jquery中调用函数内的函数

[英]Call a function within function in Jquery

我在按钮调用时直接调用函数demo1()问题。 请参阅代码

var FormImageCrop = function (){
    var demo1 = function() {
        var jcrop_api;
        $('#demo1').Jcrop({
          onChange:   showCoords,
          aspectRatio: 4 / 3
        },function(){
          jcrop_api = this;
        jcrop_api.setSelect([0,0,3200,2400]);
        });
        $('#coords1').on('change','input',function(e){
          var x1 = $('#x11').val(),
              x2 = $('#x12').val(),
              y1 = $('#y11').val(),
              y2 = $('#y12').val();
          jcrop_api.setSelect([x1,y1,x2,y2]);
        });
        function showCoords(c)
        {
             $('#x11').val(c.x);
            $('#y11').val(c.y);
            $('#x12').val(c.x2);
            $('#y12').val(c.y2);
            $('#w1').val(c.w);
            $('#h1').val(c.h);
        };
    }
    return {
        init: function () {

            if (!jQuery().Jcrop) {;
                return;
            }

            demo1();
        }

    };
}();

我想在按钮点击上调用此功能,如<button onclick="demo1()">Click it</button>

我怎么称呼这个功能???

var myObject = {
    firstName:"John",
    lastName: "Doe",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
myObject.fullName();         // Will return "John Doe"

就这些。 您可以从http://www.w3schools.com/js/js_function_invocation.asp阅读整个教程

或者你可以试试这个

var my_foo= function foo() {

    // do something

}
myfoo();

要么

function bar() {

    // do something

}
bar();

在HTML中调用函数的唯一方法是函数本身是否在全局窗口对象上公开。 我不一定会这样做,但如果你仍然想在按钮的onlick属性上调用该函数,你可以这样做:

 var FormImageCrop = function (){
        window.demo1 = function() {
            ...
            ...
        }
        return {
            init: function () {
                ...
                ...
                window.demo1();
            }

        };
}();

正如我所说,这不是理想的,但它会起作用。 更好的选择是向按钮添加事件侦听器。

希望能帮助到你。

你也可以这样

var FormImageCrop = function (){
        window.demo1 = function(val) {
           alert(val);
        }
        return {
            init: function () {
                window.demo1();
            }
        };
}();

和按钮链接这个

<button onclick="demo1('abc')">Click It</button>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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