Подтвердить что ты не робот

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

Возможный дубликат:
jQuery проверить, есть ли у объекта метод?

Я хочу установить, есть ли функция перед вызовом javascript, вы можете мне помочь, как это сделать и применить на этом script

$(document).ready(function() {
   $(".cs-text-cut").lettering('words');
});
4b9b3361

Ответ 1

Я предполагаю, что вы хотите проверить и убедиться, что lettering существует, попробуйте следующее:

http://api.jquery.com/jQuery.isFunction/

Вот пример:

if ( $.isFunction($.fn.lettering) ) {
    $(".cs-text-cut").lettering('words');
}

Ответ 2

Используйте это, чтобы проверить, существует ли функция.

<script>
if ( typeof function_name == 'function' ) { 
        //function_name is a function
}
else
{
 //do not exist
}
</script>

Ответ 3

Если это функция lettering, которую вы хотите проверить, вы можете сделать это следующим образом:

$(document).ready(function() {
    var items = $(".cs-text-cut");
    if (items.lettering) {
        items.lettering('words');
    }
});

Или, если вы хотите абсолютно убедиться, что items.lettering является функцией перед тем, как попытаться вызвать ее, вы можете сделать это:

$(document).ready(function() {
    var items = $(".cs-text-cut");
    if (typeof items.lettering === "function") {
        items.lettering('words');
    }
});

Или, если вы действительно не контролируете среду, так что вы действительно не знаете, будет ли вызов функции надписи работать или нет и может даже вызвать исключение, вы можете просто поместить вокруг него обработчик исключений:

$(document).ready(function() {
    try {
        $(".cs-text-cut").lettering('words');
    } catch(e) {
        // handle an exception here if lettering doesn't exist or throws an exception
    }
});

Ответ 4

typeof $({}).lettering == 'function' или $.isFunction($({}).lettering) должно возвращать логическое значение для того, доступно ли оно еще или нет.