2015-06-05 2 views
0

У меня есть таймер, который автоматически нажмет кнопку отправки.Можно отправить кнопку, нажатую дважды пользователем и скриптом?

Пользователь также может нажать на него.

Можно ли одновременно запускать оба устройства?

Я могу отключить кнопку после клика, но если пользователь нажмет на нее, и я отключу ее, кажется, что вызов $("#btn").click() все равно будет работать.

Я искал это в googled, но не мог найти такой вопрос.

Контекст: Чтобы предотвратить истечение срока действия сеанса, я хочу отправить форму программно через 5 минут загружаемого сайта. Когда я сделаю это, пользователь может случайно нажать кнопку отправки?

Код

setTimeout(function(){ $("#btn").click()}, 5*60000); //click after 5 minutes 

// это вызовет перезагрузку страницы

+1

не следует - пожалуйста, показать больше контекста! –

+0

@ Даниэль Я обновил его. – user5858

+0

Они не могут быть запущены одновременно, но вы можете использовать его дважды, если вы подходите к тому, что вы делаете сейчас. Тем не менее, мне действительно интересно узнать об этом. В первую очередь это кажется неправильным. –

ответ

2

Может и быть вызваны в то же время?

Да, отключение и запуск - это две разные вещи.

Когда вы отключите кнопку, то не позволит пользователю запускать нажатие кнопки. Однако программные триггеры кликов будут еще выполнить все связанные события.

Для предотвращения последующего выполнения обработчика нажмите, самый простой путь будет использовать one() как

$(document).one('click', '#btn', function(){...}); 

undbind Это на click событие после того, как он был выполнен в наиболее раз.

+0

Не имеет значения, так как страница перезагрузится после нажатия. – user5858

+0

@ user5858, кажется, я неправильно понимаю проблему. Я понял, что вы не хотите, чтобы обработчик кликов выполнялся дважды, случайно, что пользователь нажал и вызывается $ (btn) .click(). В чем же проблема? – AmmarCSE

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