2017-04-14 38 views
1

我想檢查jquery函數是否存在。例如如何檢查是否存在jquery函數以避免重複func

var i = 0; 

function callbuttonfunc(){ 
$("#button").click(function(){ 
    i += 1; 
}); 
} 
console.log(i); 

如果我們調用callbuttonfunc()三次,當我們點擊該按鈕,增加值將因爲重複的功能的三倍。所以我只想實現一個沒有定義的函數。然後,調用一個函數來定義它。我可以使用$(document).ready(),但我建立了一個ajax網站。所以當創建一個div。它會檢查定義爲未定義的每個函數。謝謝

+0

if(functionname ==「undefined」)? – Stavm

回答

0

使用變量來跟蹤事件處理程序是否已經綁定到按鈕。

var i = 0; 
var clickBound = false; 

function callbuttonfunc(){ 
    if (clickBound) return; 
    $("#button").on('click', function(){ 
     i += 1; 
    }); 
    clickBound = true; 
} 
0

你可以簡單地檢查,如果該功能是使用下面的代碼定義:

function callbuttonfunc(){ 
$("#button").click(function(){ 
    i += 1; 
}); 
} 
if(isFunction(callbuttonfunc)) alert('is of type function'); 
if(isDefined(callbuttonfunc)) alert('if this is a function, it is defined'); 

希望這有助於!

+0

我的意思是檢查$(「#button」)。click(function(){});不檢查函數callbuttonfunc() – Bobby

+0

你可以檢查是否觸發按鈕,如:if(e.originalEvent!== undefined) { alert('button clicked'); } – Gagzzz

相關問題