Я хочу запустить часть функции, когда страница изначально загружается, но большая часть события change
должна запускаться только тогда, когда цель затем взаимодействует.события изменения jQuery на docready
Проблема в том, что эти два события не связаны друг с другом - при загрузке страницы я хочу показать определенные div, а затем я хочу, чтобы действие щелчка отображало/скрывало div. Я могу заставить эти две части работать отдельно, но не смог их комбинировать.
Мой вопрос: какой лучший способ достичь этого разделения? Есть ли метод в jQuery, который говорит: «Только запустить эту часть один раз» или «запустить эту часть на загрузке страницы, эта часть onclick»?
В качестве примера, у меня есть код, который загружает на Docready (который использует .change();
так, что он работает сразу):
$(function() {
$('.trigger :checkbox').change(function() {
$(this).parent().nextAll('ul.hidden').toggle(this.checked);
}).change();
});
Но я ALSE хочу, чтобы запустить этот код, когда кто-то нажимает на одну из моих .trigger
классы:
$('.trigger :checkbox').change(function() {
var $target = $(this).parent().nextAll('.hidden'); // go up a level and then look for the next list with the hidden class
$(this).parent().toggleClass('open'); // the class of the label needs to change, so find the parent of the checkbox
$target.fadeToggle();
if($(this).is(':checked')) {
$target.find('.hidden').css('display', 'none'); // hide all submenus
} else {
$target.find(':checkbox').removeAttr('checked'); // untick all checkboxes in sub-menu if unchecking
}
});
В настоящее время событие click очень запутанно.
Я не уверен, я понимаю, что вы хотите. Вы хотите запускать некоторые события при загрузке страницы и другое событие при нажатии элемента? Как это http://jsfiddle.net/yg7f9/? – alexn 2010-12-20 08:56:56
Тип; моя проблема в том, что моя функция (ы) изменения должна применяться к этой же самой вещи, поэтому я могу использовать это. Имеет ли это смысл? – CherryFlavourPez 2010-12-20 09:10:27