簡體   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