2013-04-24 7 views
0
jQuery -> 
    $("#toggle_button").click -> 
    $("#toggle_answer").toggle() 

Я должен обновлять страницу каждый раз, чтобы заставить переключиться на работу по назначению. Если я не обновляю страницу, это не сработает?coffescript (функция переключения) с рельсами работает только после перезагрузки страницы

Есть ли решение для этого? Iv пытался заставить его работать около 3 часов. Я пытался так много других вещей, таких как:

$(document).ready() -> 
    $("#toggle_button").click -> 
    $("#toggle_answer").toggle() 

и

jQuery ($) -> 
    $("#toggle_button").click -> 
    $("#toggle_answer").toggle() 

Я также попытался не использовать кофейную сценарий и просто использовать Javascript, но я все еще получаю ту же проблему.

Это проблема с работой рельсов? возможно, javascript не загружен после нажатия ссылки на другую страницу? (Я не думаю, что это происходит, но я не понимаю, почему он не работает)

Любая помощь будет оценена!

Спасибо!

+0

Включен ли какой-либо вызов ajax? Удаленная ссылка, форма или что-то в этом роде? –

+0

У вас есть ошибки в вашем браузере? – chrmod

+0

Похоже, что недопустимый HTML (например, имеющий один и тот же идентификатор несколько раз) может быть возможным преступником ... –

ответ

0

Похоже, проблема с #toggle_button или #toggle_answer отсутствует в вашем DOM, когда событие вызывается или прилагается. Вы можете попробовать использовать метод JQuery .on() который будет искать элементы данного селектора и прикрепить события к ним при добавлении к DOM:

$("#toggle_button").on "click" -> 
    $("#toggle_answer").toggle() 

.on() заменить .live() и .delegate() функции JQuery, вы должны прочитать его документ: http://api.jquery.com/on/