Предотвратить Rails link_to_remote несколько отправляет w Javascript - PullRequest
0 голосов
/ 23 декабря 2010

В проекте Rails мне нужно, чтобы link_to_remote не получал двойной щелчок. Это выглядит как: before и: after - это мой единственный выбор - они добавляются / добавляются к вызову onjlick Ajax соответственно. Но если я попробую что-то вроде:

:before => "self.stopObserving()"

Аякс никогда не запускается. Если я попробую это сделать: после запуска Ajax, но ссылка никогда не перестанет наблюдать.

Решения, которые я видел, основаны на создании переменной и блокировании всей формы, но на этой странице есть несколько строк link_to_remote, и вполне допустимо нажимать более одной из них за раз - только не одну и ту же дважды , Одна переменная в строке, объявленная вне link_to_remote, кажется очень хитрой ...

Вместо того, чтобы использовать Prototype, я сначала попробовал простой Javascript для этого доказательства концепции - но он тоже не работает:

нажмите

при нажатии просто выдает предупреждение - лямбда тут ничего не делает? Этот следующий больше похож на желаемую цель и должен предупреждать только в первый раз. Но вместо этого он предупреждает каждый раз:

нажмите

Все идеи приветствуются!

1 Ответ

0 голосов
/ 23 декабря 2010

Я получил это, чтобы работать с использованием jQuery:

link.click(function() { 
  alert('foo'); 
  $(this).unbind('click'); 
  $(this).click(function() { 
    return false; 
  }); 
  return false; 
})

Так что вы можете сделать то же самое с простым старым javascript.Легко добавить класс ко всем ссылкам, которые вы хотите вести себя таким образом, и в вашем application.js вы можете назначить это поведение всем ссылкам этого класса.JavaScript тоже ... jQuery просто делает это проще.

...