我查看了UIkit和其他一些jQuery Context Menu插件,但它们都表现得像这样:
正如您可以看到窗口外的菜单渲染的实际div,因此无法看到有价值的内容。
当没有足够的空间使用jQuery时(意味着当它不适合当前窗口时),是否有任何方法可以使弹出div(例如div具有id menu
)自动粘贴到右边界边框向左移动,以便它出现在需要的地方,如:
答案 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作为上下文菜单。工作正常。