Начиная с jQuery 1.7, вы должны использовать jQuery.fn.on
:
$(staticAncestors).on(eventName, dynamicChild, function() {});
До этого рекомендуется использовать live()
:
$(selector).live( eventName, function(){} );
Однако live()
устарел в 1.7 в пользу on()
и полностью удален в 1.9. Подпись live()
:
$(selector).live( eventName, function(){} );
... может быть заменена следующей on()
сигнатурой:
$(document).on( eventName, selector, function(){} );
Например, если ваша страница динамически создавала элементы с именем класса dosomething
, вы привязывали бы событие к родительскому, который уже существует (здесь есть нуль проблемы, вам нужно что-то, что существует для привязки, не привязка к динамическому контенту), это может быть (и самый простой вариант) - document
. Хотя иметь в виду document
, возможно, не самый эффективный вариант .
$(document).on('mouseover mouseout', '.dosomething', function(){
// what you want to happen when mouseover and mouseout
// occurs on elements that match '.dosomething'
});
Любой родитель, который существует в момент привязки события, прекрасен. Например,
$('.buttons').on('click', 'button', function(){
// do something here
});
применимо к
Просто прочитайте документацию по Python :
Python также включает тип данных для наборов. Набор представляет собой неупорядоченную коллекцию без повторяющихся элементов . Основное использование включает тестирование членства и устранение дублирующихся записей. Объекты множества также поддерживают математические операции, такие как объединение, пересечение, разность и симметричная разность.
blockquote>Emphasis mine. sup>
Это означает, что вы никогда не сможете сортировать элементы внутри набора *.
По крайней мере, с «нормальными» сетами вы не можете. Вам лучше поискать сторонние библиотеки (и словари по умолчанию, и
collections.OrderedDict
), потому что я не думаю, что python имеет встроенные упорядоченные множества, по крайней мере, нет вcollections
[ 117].* Ну, не никогда , я понял, что ранние версии python не заказывали словари, а теперь они заказали. Но, по крайней мере, в текущей версии (python 3.7) нет упорядоченных множеств.
В любом случае, словари работают аналогично наборам. В словаре вы не можете иметь два раза один и тот же ключ, как в наборе, вы не можете иметь два раза один и тот же элемент. Поэтому, если вы работаете с ключами словаря и просто игнорируете значения этих ключей,
collections.OrderedDict
может работать для вас. Даже базовые словари (те, которые вы создаете с помощьюdict()
) будут работать с Python 3.7.>>> a = dict() >>> a[1] = None >>> a[-1] = None >>> a[0] = None >>> a[4] = None >>> a[-3] = None >>> print(a.keys()) dict_keys([1, -1, 0, 4, -3])