Начиная с 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
});
применимо к
В основном у вас есть две опции
scale_x_continuous(limits = c(-5000, 5000))
или
coord_cartesian(xlim = c(-5000, 5000))
. В тех случаях, когда первая удаляет все точки данных за пределами заданного диапазона, а вторая настраивает только видимую область. В большинстве случаев вы не увидите разницы, но если вы что-то приложите к данным, это, вероятно, изменит установленные значения.
Вы также можете использовать сокращенную функцию xlim
(или ylim
), который, как и первый вариант, удаляет точки данных за пределами заданного диапазона:
+ xlim(-5000, 5000)
Для получения дополнительной информации проверьте описание coord_cartesian
.
RStudio cheatsheet для ggplot2
делает это совершенно ясным визуально. Вот небольшая часть этой таблицы:
Распространяется в CC BY .
Быстрое примечание: если вы также используете coord_flip()
, чтобы перевернуть оси x и y, вы не сможете установить пределы диапазона с помощью coord_cartesian()
, поскольку эти две функции являются эксклюзивными (см. здесь ).
К счастью, это простое исправление; установите пределы внутри coord_flip()
следующим образом:
p + coord_flip(ylim = c(3,5), xlim = c(100, 400))
Это просто изменяет видимый диапазон (т. е. не удаляет точки данных).
library(scales); ... + scale_x_continuous(limits = c(-5000, 5000), oob=squish)
(по умолчаниюoob=censor
); см.?squish
,?censor
: groups.google.com/forum / #! topic / ggplot2 / AsJ6xpmR9tU – Ben Bolker 2 November 2013 в 23:07coord_cartesian(xlim =
вам, вероятно, необходимо также сброситьylim
и сбросить метки и разрывы сетки. – PatrickT 17 October 2015 в 13:30