Сбрасываемое событие «out» пользовательского интерфейса jQuery не срабатывает - PullRequest
0 голосов
/ 18 августа 2011

При "over" -ing я восстанавливаю сбрасываемые элементы $ (this) .parent.empty (). Append (...) (они в основном состоят из <li> элементов)

Проблема в том, что фактический элемент, ожидающий запуска функции "out", также удаляется -> out не может быть запущен

есть ли решение для такого рода проблем?

1 Ответ

1 голос
/ 18 августа 2011

Вы пробовали. Жить. Это добавит его обратно, если вы создадите элементы после того, как DOM уже загружен. Так что если у вас есть что-то вроде $ ("# mylist li"). Live ('handler', function () {}); Я не совсем уверен, что вы делаете, но это было бы что-то вроде этого.

Вы можете увидеть несколько примеров здесь: http://api.jquery.com/live/

И в лицо вы можете сделать несколько обработчиков.

$("#mylist li").live("mouseover mouseout", function(event) {
  if ( event.type == "mouseover" ) {
    // do something on mouseover
  } else {
    // do something on mouseout
  }
});

Делегат, как предложил Хаски:

$("#mylist").delegate("li", "mouseover mouseout", function(event) {
  if ( event.type == "mouseover" ) {
    // do something on mouseover
  } else {
    // do something on mouseout
  }
});
...