Set*_*eth 10 javascript jquery jquery-ui jquery-ui-dialog
我试图扩展jQuery UI对话框()以使用箭头指针指向被点击的内容.我遇到的问题是知道碰撞方法何时运行,所以我可以改为从左侧到右侧的指针.
是否可以知道position.collision方法何时被触发?
$('#myElem').dialog({
position:{
collision:'flip'
}
});
Run Code Online (Sandbox Code Playgroud)
解:
事实证明,你可以通过比他们在文档中说的更多.以下是我最终使用的解决了我的问题:
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'
});
}
}
Run Code Online (Sandbox Code Playgroud)
我使用对象using内部的方法position来完成大部分工作.然后我做了一个快速检查,看看它是否是IE,在文档的前面完成,并相应地设置我的CSS.
我刚刚做了这个,所以如果你遇到问题请告诉我.:)