Действительно ли возможно сделать что-то вроде этого
$('#idone').click(function(){
alert('we do stuff!');
});
$('#idtwo').click(function(){
$('#idone').click();
});
... я предполагаю не, но являюсь там какими-либо возможными обходными решениями?
! UPD:
Ну, хорошо. Это сложно. Мне установили jCarousel аналог - JQueryTOOLS - С возможностью прокрутки - я предполагаю, что это что его имя ссылка: http://flowplayer.org/tools/demos/scrollable/gallery.html
Я предполагаю, что это имеет щелчок () событие так или иначе hardcoded в нем и когда я нажимаю ползунки, плагин прокручивает его для центрирования положения. Затем я связал другое событие щелчка, так, чтобы я мог отобразить большое изображение. Это работает подобное примеру в ссылке выше
Теперь я должен сделать это большое изображение активируемым по щелчку, настолько нажимающим это, я могу продолжить затем отображать в галерее, я сделал это, но теперь я должен сделать прокрутку кольцевой галереи автоматически к следующему ползунку, когда я нажимаю на это большое изображение. Так, если я упрощаю свой код, сущность - все еще что-то как этот:
$('#idone').click(function(){
alert('we do stuff!');
});
$('#idtwo').click(function(){
$('#idone').click();
});
где #idone является ползунком в галерее, #idtwo является тем изображением предварительного просмотра. Я не знаю то, что функция обязана нажать по умолчанию. Другая вещь: мое предположение было то, что привязка того же события к тому же объекту должна заменить предыдущее - это появляется не обязательно.. И я вполне уверен, что это - точно щелчок (); не mouseup\down и т.д. вызывают вызов
$('#idone').click();
на странице загрузка добивается цели, и кольцевая галерея прокручивает к ползунку с идентификатором = "idone"
на всякий случай: jquery-1.3.2.js
спасибо все для Ваших ответов, и извиняет меня мой хромой английский язык, никакое время для того, чтобы повторить (:
! UPD:
хорошо! таким образом, я разочаровался в этом)), Но закрыть этот вопрос и положить конец этому обсуждению я должен знать. Все Вы люди, которые записали, что это - возможные и предложенные варианты. ВЫ СУДИЛИ ИХ?! Они действительно работают на Вас? Это - я, кто неправ? И - Спасибо так или иначе!
Это была бы другая возможность:
$('#idone').click(function(){
alert('we do stuff!');
});
$('#idtwo').click(function(){
$('#idone').trigger('click');
});
редактирование: Я просто вижу, что Ваш код уже должен так работать.
На самом деле вызов:
$("#idone").click();
сделает то, что вы хотите: вызовите обработчики событий click()
на #idone
.
Тем не менее, я бы посоветовал разделить его на отдельные функции, так как такие обработчики событий, как этот, могут сбить с толку кого-то, кто будет читать код. Например:
$('#idone').click(idone_click);
$('#idtwo').click(idtwo_click);
function idone_click() {
alert("id one click");
}
function idtwo_click() {
idone_click();
}
Конечно, если Вы просто хотите, чтобы они оба делали одно и то же, то можете сделать так:
$("#idone, #idtwo").click(function() {
alert(this.id + " clicked");
});
Понятно. Тогда, возможно, Вы захотите сделать что-то подобное.
$('#image_wrap img').click(function(){ // big image is clicked
// figure out the active element of the items below
$active_element = $('.scrollable .items .active');
// move along to the element to its right
$nextone = $active_element.next();
// trigger a click on this element
$nextone.trigger('click');
});
Таким образом, когда Вы щелкаете по большому изображению, срабатывает событие щелчка по следующему изображению в списке для предварительного просмотра.
.
(Если этого элемента не существует, то jQuery хорош и ничего не делает - ошибок нет)
Определить отдельную функцию, которая вызывается обоими событиями?
function doSomething() {
alert('we do stuff!');
}
$('#idone').click(doSomething);
$('#idtwo').click(doSomething);
или просто
.$('#idone, #idtwo').click(doSomething);
[EDIT - jQuery Scrollable]
Пытались ли вы использовать это с эскизами в jQuery Scrollable:
$('#idone').next();
(Полагаю, #idone - прокручиваемый)