0

我的理解是 CTRL-鼠标滚轮缩放是一种可访问性功能,内置在相关浏览器中(我目前正在 Chrome 和 Opera 中进行测试,如果它们都使用 CTRL-缩放)。

然而,对于可访问性来说,这永远不会真正需要,因为该应用程序不适用于公众。与标准鼠标滚轮缩放元素相比,CTRL 滚轮缩放具有开箱即用的好处:似乎 Angularui-sortable在任何缩放/比例下都能完美工作。

不幸的是,从我在 SO 上找到的其他答案来看,当使用 CTRL-wheel 时,无法有选择地缩放:浏览器只能缩放所有内容。对我来说,这包括position:fixed与主视口同时缩放的叠加层,这是不好的。

所以我设置了一些代码来根据鼠标光标所在的任何元素进行滚动,例如。仅当鼠标悬停在该视口元素上时,才使用鼠标滚轮缩放主视口。

问题是,当仅将它用于单个元素时,它的行为ui-sortable正确。我已经使用set at但仍然,当我以 1:1 以外的任何比例拖动s 时,它们会出现在左侧。关于如何开始解决这个问题的任何想法?scaletransform-origin50% 50%ui-sortable

4

1 回答 1

0

这在Angular 的可排序适配中不是问题,而是在 jQuery-ui 1.9.2 的基础 jQuery-ui 1.9.2 定位函数中围绕第 4000 行(_generatePosition或者可能是其他之一)的问题。scale我相信,由于浏览器在or期间不会修改实际尺寸值zoom,并且该库中提供的公式不考虑缩放(我可以看到),因此没有简单的修复,因为 jQueryui.sortable需要缩放精确的值来计算正确的位移。(我尝试修改公式来解决这个问题,但没有成功。)

目前最简单的解决方法是手动更改各个列表元素的width()/ ,如此处所示。这可能需要对使用/ 扩展的内容以及使用的更改(通常更容易)进行选择。height()width()height()scale

于 2013-10-23T10:36:03.590 回答