Вопрос об использовании специальных переменных в функциях для jquery UI / Draggables - PullRequest
1 голос
/ 10 июня 2009

Я всегда вижу это в документации.

$('.selector').draggable({
   start: function(event, ui) { ... }
});

В документации jQuery, что обозначают "событие" и "пользовательский интерфейс", и как их можно использовать?

Есть ли способ передать конкретный объект .selector в функцию?

Полагаю, я не совсем понимаю, как все это работает без каких-либо примеров.

Я ценю любую помощь!

1 Ответ

4 голосов
/ 10 июня 2009

Когда дело доходит до jQuery, вам нужно искать информацию в документации, поскольку по большей части она довольно полная и даст вам все, что вам нужно.

Имея это в виду, это документация : для Draggables:

Все обратные вызовы (запуск, остановка, изменение размера) получают два аргумента: исходное событие браузера и подготовленный объект пользовательского интерфейса. Объект пользовательского интерфейса имеет следующие поля:

  • ui.helper - объект jQuery, представляющий перетаскиваемый помощник
  • ui.position - текущая позиция помощника как объекта {top, left}, относительно элемента смещения
  • ui.offset - текущая абсолютная позиция помощника как объекта {top, left}, относительно страницы

Что касается объекта события, вот документация для этого .

Наиболее распространенное использование объекта события - предотвращение действия по умолчанию. Так что если у вас есть ссылка:

<a href="more.html" id="show_more">Show me more!</a>

И вы хотите, чтобы что-то происходило, когда пользователь нажимает на него и включает Javascript, вы можете сделать следующее:

$('#show_more').click(function(e) {
    alert('heya!');
});

Проблема здесь в том, что после появления предупреждения и его закрытия произойдет действие ссылки по умолчанию («перейти на другую страницу»), и пользователь будет отправлен на more.html. В большинстве случаев это не то, что вам нужно, поэтому вы затем запрещаете действие по умолчанию:

$('#show_more').click(function(e) {
    alert('heya!');
    e.preventDefault(); // cancel link event, could also return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...