2017-09-08 53 views
-2

我有以下腳本被調用map()函數:調用jQuery函數

$(function() { 
    $.getScript("https://www.google.com/jsapi", function() { 
    google.load("maps", "3", { callback: function() { 

     console.log("loaded"); 
     $.mapit(); 

    }}); 
    }); 
}); 

凡地圖如下功能:

$(function() {  
    $.fn.mapit = function() {   
    console.log("map called");  
    return $(this);  
    } // mapit  
}); 

在我的控制檯我看「裝」,但不是「地圖調用」,我沒有得到任何錯誤。

我錯過了什麼?

+0

多麼奇怪的方式來聲明的功能。是否有任何理由你這樣做,而不是像往常一樣像'function map(){...}'那樣做?我其實很好奇 –

+0

https://stackoverflow.com/a/3090236/2968762 – Abhi

+0

哦,我明白了,謝謝 –

回答

1

結論在評論中交談, 爲了延長JQuery的工具,你在問題中所指定的方式,你就必須做

jQuery.extend({ 
    mapit : function(){ 
     console.log("map called"); 
    } 
}); 

要調用它,你現在可以做$.mapit();

如何不斷擴大的JQuery對象,你會怎麼做

$.fn.mapit = function() {   
    console.log("map called");   
} 

但是,爲了調用上面你需要一個jQuery對象,如$("div").mapit();