Справка по курсору с изменяемым размером jquery

Я установил div, размер которого можно изменить:

$("mydiv").resizable();

Теперь, когда вы идете, чтобы изменить размер вправо, курсор уходит от фактической части изменения размера. Поэтому, если курсор попадает в край экрана, вам нужно отпустить мышь, вернуться и снова начать изменять его размер, если вы хотите сделать его больше. Я знаю, что с помощью draggable есть опция для cursorAt, которая скажет курсору оставаться на этом div. Я посмотрел на jquery ui.com, но не увидел курсора для изменяемого размера. Есть ли способ удерживать курсор мыши на изменяемой части при изменении размера?


person ngreenwood6    schedule 14.11.2009    source источник
comment
Не совсем понял проблему. Со ссылкой на демонстрацию UI/Resizable на jqueryui.com/demos/resizable разве это не стандартное поведение вы хотите?   -  person o.k.w    schedule 14.11.2009
comment
да, это то, что я хочу, но по какой-то причине мой курсор не остается на части изменения размера, как в демонстрации jquery.   -  person ngreenwood6    schedule 14.11.2009
comment
Я думаю, что, возможно, нашел проблему. Я думаю, что это вызвано функцией alsoResize, которую я вызываю. Я изменяю размер другого div, когда я изменяю размер этого div, но на самом деле я не сделал его изменяемым. Я не хочу, чтобы он изменялся сам по себе только в том случае, если кто-то изменит размер того, который я разрешаю. Какие-либо предложения? я вернусь и приму некоторые ответы тоже. Я совершенно забыл об этом.   -  person ngreenwood6    schedule 14.11.2009
comment
может ошибаться. я только что попытался изменить его размер перед вызовом alsoResize, но, похоже, он имеет тот же эффект.   -  person ngreenwood6    schedule 14.11.2009
comment
Итак, я выяснил точную причину проблемы. Это потому, что другой div, размер которого я изменяю, имеет свойство margin:0 auto. если я уберу авто, он работает нормально. Кажется, что свойство авто убивает его. Любые идеи?   -  person ngreenwood6    schedule 14.11.2009


Ответы (1)


Ах, я вижу, виновником, кажется, является то, на что вы указали:

«Это потому, что другой div, размер которого я изменяю, имеет свойство margin:0 auto»

Наличие 0 auto означает, что левое и правое поля автоматически настраиваются для балансировки, которая централизует элемент div. Я не думаю, что вы хотите изменять размер таким образом, поскольку положение div перемещается, пока вы изменяете размер, чтобы оставаться в центре.

Мое предложение, удалите настройку auto для вашей маржи.

Обновление:
я выполнил это в firebug на демонстрационной странице с изменяемым размером:
$("#resizable").css("margin","0 auto"); для центрирования блока с использованием поля auto

Вот скриншот того, что у меня есть:
изменяемый размер

Курсор изменения размера отодвигается от угла поля по мере того, как вы перетаскиваете его от исходного размера.

Однако это все еще работает, хотя «опыт» кажется странным.

person o.k.w    schedule 14.11.2009
comment
Я не могу удалить автоматическую настройку для моей маржи. Это то, что центрирует этот элемент, поэтому, удалив автоматическую настройку, моя страница больше не отображается правильно. Есть ли способ, которым я могу по-прежнему центрировать этот элемент, но чтобы курсор оставался там? - person ngreenwood6; 14.11.2009
comment
@ngreenwood6: Посмотрите мой «эксперимент» в моем обновленном посте. Изменение размера поля по центру все еще работает, хотя и не очень хорошо. Вы можете сами попробовать его на демо-странице и сравнить со своим. - person o.k.w; 15.11.2009
comment
CSS — это боль в централизации вещей, нам нужен align: center center; - person Vitim.us; 29.05.2012