2014-01-12 108 views
-1

我想調用在調用JQuery事件之後創建的JavaScript函數。我定義了一個叫做scrambleDot的函數,它早些時候是這樣的var scrambleDot = new function() { //my code }。下面是我試圖用代碼:你必須把它在JQuery中調用自定義函數

$('#reveal').click(function() { 
    $('.cover').css({'visibility':'hidden'}); 
    $('#under').css({'visibility':'visible'}); 
}) 
$('#conceal').click(function() { 
    $('scrambleDot'); 
}) 

})

+3

它應該是var var scrambleDot = function(){...}',no'new',並且調用它,只要'scrambleDot()' –

+0

請給予更多解釋 –

+2

嘿KyleMaclean,不要沮喪的downvotes。 StackOverflow可以是一個艱難的人羣。堅持下去! –

回答

4

只是想:

scrambleDot(); 

要定義一個函數,你不需要new操作,所以你應該有:

var scrambleDot = function() { //my code } 

如果它仍然拋出一個錯誤,這意味着它是在其他sco中定義的PE。爲了讓全球入店,定義它的時候做到這一點:

window.scrambleDot = function() { //my code } 

乾杯

2
  1. 我們必須使用new關鍵字,只有當函數用作新對象的構造函數。所以,定義不應該使用new

    var scrambleDot = function() { //my code } 
    

    如果該功能不需要動態創建的,我會建議

    function scrambleDot() { 
        ... 
    } 
    
  2. 要調用的函數,簡單地做

    scrambleDot(); 
    
1

對於調用的函數,而不是選擇元素爲:

$('#reveal').click(function() { 
    $('.cover').css({'visibility':'hidden'}); 
    $('#under').css({'visibility':'visible'}); 
}) 
$('#conceal').click(function() { 
    scrambleDot(); 
}); 

而且也,你寫的功能:

function scrambleDot() { 
    // your code 
} 

它比可變的一個更好的做法。