Я хочу добавить обработчик события onclick на кнопку. Но я не хочу, чтобы он вызывался, если переменная js не установлена, вместо этого вызов функции должен быть сохранен, а затем выполнен, когда я захочу. Можно ли сделать что-то вроде этого?Возможно ли сохранить вызов функции javascript и выполнить его, когда установлена какая-либо переменная?
Edit: Подробнее Описание:
Так в основном, так как SDK еще не загружен, обработчик OnClick событие должно еще быть вызван, но вызов не будет выполняться, а вместо этого будет храниться где-то (в очередь может быть). Затем в другом фрагменте кода я проверю, загружен ли sdk, и как только он будет загружен, я проверю, есть ли ожидающие вызовы в очереди и выполняйте их. Это, очевидно, не будет блокировки браузера.
PS: В принципе, я интегрирую вход в facebook с помощью JS SDK в свой webapp. Таким образом, функция FB.login будет работать только в том случае, если SDK загружен, но я не хочу отказывать пользователю в нажатии кнопки входа. Поэтому, если SDK не загружен, вызов будет сохранен, а затем я могу выполнить его вручную после загрузки SDK.
Не можете ли вы иметь флаг внутри обработчика событий? – Lix
Можете ли вы подробнее рассказать? Обратите внимание, что я не хочу, чтобы пользователь нажимал кнопку несколько раз только потому, что первый раз SDK не был загружен. – dotgc
Что вы пробовали? Вы можете вернуться из вызова функции после проверки того, есть ли typeof (the_other_variable) == 'unknown' или что-то еще, что требуется, и в противном случае выполнять вашу обычную функцию. –