知道jQuery UI中何时触发了位置冲突

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.

我刚刚做了这个,所以如果你遇到问题请告诉我.:)

Muh*_*uhd 0

请改用qTip