Итак, у меня есть следующий файл js, который проверяет несколько функций:

jQuery(document).ready(function() {
    RebindClickModal_show();
    RebindClickModal_contact();     
}); 

Однако, если на странице нет этих функций, я получаю справочную ошибку.

Итак, я хочу добавить условие if, чтобы сначала проверить, существуют ли эти функции.

Как лучше всего это сделать?

Спасибо.

1
Steve Kim 21 Окт 2015 в 09:17

3 ответа

Лучший ответ

Попробуйте использовать isFunction вот так:

jQuery(document).ready(function() {

    if ( $.isFunction($.fn.RebindClickModal_show) ) {
         RebindClickModal_show();
    }


    if ( $.isFunction($.fn.RebindClickModal_contact) ) {
        RebindClickModal_contact();  
    }

});
2
Suchit kumar 21 Окт 2015 в 06:27
jQuery(document).ready(function() {
    ($.isFunction(window.RebindClickModal_show))?( RebindClickModal_show() ):( "" );
    ($.isFunction(window.RebindClickModal_contact))?( RebindClickModal_contact() ):( "" );
});

function RebindClickModal_show(){
    console.log("Show - Hello World!");
}
function RebindClickModal_contact(){
    console.log("Contact - Hello World!");
}
1
ssp singh 21 Окт 2015 в 07:06

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

jQuery(document).ready(function() {
    if(RebindClickModal_show && typeof RebindClickModal_show === typeof Function) {
        RebindClickModal_show();
    }

    if(RebindClickModal_contact && typeof RebindClickModal_contact === typeof Function) {
        RebindClickModal_contact();
    }
}); 
1
Satpal 21 Окт 2015 в 06:28