Я пытаюсь расширить диалоговое окно jQuery UI (), чтобы использовать указатели стрелок, чтобы указывать на то, что было щелкнуто. Проблема, с которой я столкнулся, заключается в том, что я знаю, когда запускается метод столкновения, чтобы я мог переключаться на указатели с левой стороны на правую.
Можно ли узнать, когда срабатывает метод position.collision?
$('#myElem').dialog({
position:{
collision:'flip'
}
});
Решение :
Оказывается, можно передать больше, чем говорится в документации. Вот что я решил использовать, чтобы решить мою проблему:
position:
{
my: 'left top',
at: 'right center',
of: $trigger,
offset: '20 -55',
collision: 'flip',
using: function(obj) {
var $modal = $(this),
trigger_l = $trigger.position().left,
modal_l = obj.left,
top;
// Check IE's top position
top = ( isIE ) ? obj.top - 48 : top = obj.top;
$(this).css({
left: obj.left + 'px',
top: top + 'px'
});
}
}
Я использовал метод using
внутри объекта position
для выполнения большей части работы. Затем я быстро проверил, является ли это IE, сделанное ранее в документе, и настроил свой CSS соответствующим образом.
Я сделал это некоторое время назад, поэтому дайте мне знать, если у вас возникнут проблемы. :)