2015-05-13 2 views
9

Как проверить, работает ли функция jquery, но функция находится в другом .js-файле?Как проверить, существует ли функция?

validation.js:

if ($.isFunction('payment')) { 
    $('[data-numeric]').payment('restrictNumeric'); 
    $('.cc-number').payment('formatCardNumber'); 
    $('.cc-exp').payment('formatCardExpiry'); 
    $('.cc-cvc').payment('formatCardCVC'); 
} 

это неверно, потому что функ платежей находится в payments.js.

+0

Возможный дубликат [Проверка Javascript, если функция существует] (http://stackoverflow.com/questions/1042138/javascript-check-if-function-exists) – Liam

+1

Вы хотите проверить, имеет ли функция jQuery '$' определенную функцию , Ex. '$ .myFunc' – Tushar

+0

Возможный дубликат http://stackoverflow.com/questions/5999998/how-can-i-check-if-a-javascript-variable-is-function-type – ambodi

ответ

9

проблема решена , его работы:

if ($.fn.payment) { 
    //do something 
} 
+1

Это тоже моя проблема: if ($ .fn.redactor) – EngineerCoder

17

Попробуйте как этот

if (typeof payment === "function") 
{ 
    // Do something 
} 
+0

'if is function on jquery, но функция находится в другом .js-файле' – Tushar

8

Try, чтобы проверить, как следующие,

if (typeof payment !== 'undefined' && $.isFunction(payment)) { 
    $('[data-numeric]').payment('restrictNumeric'); 
    $('.cc-number').payment('formatCardNumber'); 
    $('.cc-exp').payment('formatCardExpiry'); 
    $('.cc-cvc').payment('formatCardCVC'); 
} 
+0

' if is function on jquery, но функция находится в другом .js file' – Tushar

+1

Файлы неактуальны в js @Tushar. «Существует» - находится ли он в текущей области окна. «Файлы» просто добавляют объекты (функции) в область. Что вы получаете в? – Liam

+0

@Liam Он хочет проверить, определена ли функция jQuery '$'. Ex. $ .myFunc – Tushar

1

Вы можете проверить, существует ли функция с помощью window

Например

var fn = window['NameOfTheFunction']; 
if(typeof fn === 'function') { 
    doSomething(); 
} 

Если функция payment.js является частью себя содержали функции, вам необходимо установить его таким образом, объект окна может «увидеть», добавив это в себе содержащейся функции:

window.NameOfTheFunction = NameOfTheFunction; 
4
if (typeof yourFunctionName == 'function') { 
    yourFunctionName(); 
} 

Он работает идеально подходит для Blogger.

Смежные вопросы