jQueryUI Система позиционирования подсказки по умолчанию основана на положении элемента, вызывающего всплывающую подсказку. Я часто использую что-то вроде этого, когда триггерный элемент маленький:
position: {
my: 'left top',
at: 'right+15 center'
}
Это отрисовывает всплывающую подсказку справа от триггерного элемента. Вы также можете выбрать другой элемент DOM в качестве ссылки, например так:
position: {
my: 'left top',
at: 'right+15 center',
of: $('#otherElement')
}
Но, похоже, вы не можете использовать текущую позицию указателя мыши в качестве ссылки.
Прямо сейчас у меня есть сценарий использования с чрезвычайно большим триггерным элементом (он даже намного больше, чем страница с горизонтальной прокруткой). У меня нет более точного элемента для использования в качестве цели в "of". Наименее страшная вещь, которую я могу сделать, это:
position: {
my: 'center',
at: 'center'
}
Но это не мешает всплывающей подсказке появляться очень далеко от мыши, если пользователь наводит указатель мыши слева или справа от элемента. А из-за постоянной горизонтальной прокрутки, tootlip даже не появляется каждый раз в одном и том же месте, это зависит от того, как далеко вы прокрутили ...
Есть ли способ позиционирования на основе jQueryUI Tooltip на курсор мыши? Это похоже на ожидаемую особенность для виджета подсказки. Я что-то упустил очевидное?
РЕДАКТИРОВАТЬ: можно также поместить событие в атрибут "of" позиции "position". В этом случае вы используете позицию, где это событие вызвало в качестве ссылки. К сожалению, в jQueryUI Tooltip нет способа получить доступ к событию, которое его вызвало. Эта функция была запрошена 7 лет go: https://bugs.jqueryui.com/ticket/9239