是否有足够智能的jquery Context Menu插件来处理窗口边界?

时间:2012-02-18 17:23:52

标签: javascript jquery html window

我查看了UIkit和其他一些jQuery Context Menu插件,但它们都表现得像这样:

enter image description here

正如您可以看到窗口外的菜单渲染的实际div,因此无法看到有价值的内容。

当没有足够的空间使用jQuery时(意味着当它不适合当前窗口时),是否有任何方法可以使弹出div(例如div具有id menu)自动粘贴到右边界边框向左移动,以便它出现在需要的地方,如:

enter image description here

3 个答案:

答案 0 :(得分:5)

这是一个应该可以实现任何弹出功能(上下文菜单/等)的建议:

在“鼠标右键”事件期间,只需捕捉并操纵x / y,如果它太靠近屏幕边缘。并“纠正”它到正确的价值;

以下是pesudo代码。

if( pos.x <= menu.width ) {
    pos.x = menu.width;
} else if( pos.x >= screenWidth - menu.width ) {
    pos.x = screenWidth - menu.width;
}

答案 1 :(得分:3)

我倾向于使用this plugin。它会自动调整位置以始终保持在视口中

答案 2 :(得分:1)

在我们的一个项目中,我们使用this one作为上下文菜单。工作正常。