2010-04-14 3 views
0

Я работаю над викториной для школы, но я столкнулся с проблемой. Я получил javascript-файл для пользовательских переключателей (CUSTOM FORM ELEMNTS by Ryan Fait, если это помогает). Скрипт скрывает кнопки ввода и вместо этого добавляет пользовательские стили.jQuery Событие Click on объекта с JavaScript не работает

Теперь, когда я нажимаю один из этих добавленных JavaScript-интервалов, я хочу удалить отключен для кнопки «Следующий вопрос», которая при нажатии приведет к следующему вопросу. Причина этого в том, что я не хочу, чтобы люди случайно попали на следующий вопрос, не выбирая ответа. Проблема в том, что когда я нажимаю добавленные промежутки, ничего не происходит, но когда я нажимаю другой идентичный диапазон, который я добавил в html, он работает так, как предполагалось.

Пробел получил классное радио, которое является классом, который я ищу в jQuery.

Вот тестовая страница с сообщением об ошибке на: http://hultner.se/graphicsquiz/livetest/livetest.php

Short: Не удается получить JQuery .click() функции для работы с пролетами добавлены с помощью JavaScript в начале документа.

ответ

1

Вы ищете функцию jQuery's live(). Вы бы сделать что-то вроде:

$(".radio").live("click", function() { 
    // Enable the button here 
}); 

Другой вариант будет использовать новую delegate() функцию, если у вас есть JQuery 1.4.2 включен на вашей странице. Подобный синтаксис, однако, он сканирует только в том элементе, к которому он вызван, для дочерних элементов, к которым вы хотите привязать eventListener, и я считаю, что он оказывает гораздо меньшее влияние на большие страницы. (Не применимо в вашем случае, но всегда полезно попрактиковаться с лучшими инструментами.)

$("element_containing_radio_buttons").delegate(".radio" "click", function() { 
    // Enable the button here 
}); 
+0

Спасибо, работает отлично, именно то, что я искал. Редактировать: Не могу принять ваш ответ сейчас, но как только смогу. – Hultner

+0

@Hultner; Отлично! Рад, что смог помочь! –

+1

FYI: jQuery live() устарел, поэтому следует использовать on() сейчас. – aikeru

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