2015-10-13 2 views
-1

Я пытаюсь установить плагин jQuery для маскировки ввода. Я включил в JS файл в порядке, и я пытаюсь инициализировать его согласно документации:Функция Javascript работает в консоли, но не в коде

<script src="autoNumeric.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    $('#balance-input').keyup(function(){ 
     $('.stripe-button').attr('data-amount', $('#balance-input').val()); 
    }); 
    $('#balance-input').autoNumeric('init'); 
    }); 
</script> 

Первая функция KeyUp отлично работает и не имеет никакого отношения ко второй функции. В консоли я получаю сообщение об ошибке, что autoNumeric не определен. Затем я ввожу $ ('# balance-input'). AutoNumeric ('init'); в консоль, и она работает без проблем. Это внутри document.ready и плагин включен до document.ready. Что делать?

+5

Не могли бы вы объяснить, как вы включаете файлы javascript? Похоже, что файл, содержащий этот код, загружается/добавляется перед вашим плагином. – donnywals

+1

Можете ли вы создать скрипку или фрагмент? – j08691

+1

fiddle поможет отладить –

ответ

1

Даже если вы проверили порядок загрузки, это действительно проблема. К загрузке консоли все загрузилось. Но во время скрипта он работает, как только это возможно. Документ Ready ожидает DOM, но не обязательно все сценарии, в зависимости от того, как они загружаются. Кроме того, убедитесь, что включен только один основной файл jQuery (в некоторых системах его можно было бы случайно включить несколько раз).

Следующим шагом отладки было бы установить точку останова при вызове autoNumeric, чтобы вы могли проверить, какое состояние нагрузки JavaScript в это время.

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