1

我想在鼠标拖动事件上禁用多选选项,但用户可以按住控制键一一选择多个。问题是,我在 select 事件中发送了一个 ajax 服务调用,如果我选择了相当多的大选项,它会跳过一些。在调试模式下,当我让每个调用都在断点上发送时,它运行良好。

4

1 回答 1

0

到目前为止,我发现的唯一方法是破解代码!当前源代码在这里: https ://github.com/jquery/jquery-ui/blob/master/ui/selectable.js

您需要基本上_mouseDrag完全剥离,但留下_mouseStartand _mouseStop。侵入性较小的是为其添加一个特殊选项,如果设置了标志,则返回_mouseDrag.


顺便说一句,我的用例比你的简单:拖动到多选不仅不需要,而且实际上会妨碍。“妨碍”我的意思是如果您按住 ctrl-click 选择一个项目,然后按住 ctrl-click 取消选择它就可以了。但是,如果在 ctrl-click 取消选择时拖动鼠标(只是稍微),mouseDrag 事件会接管,因此 ctrl 按钮会被忽略,并且它会再次被选中(即取消选择失败)。这就是技术人员的解释,用户所说的是:有时 ctrl-click 取消选择不起作用。

于 2014-03-14T04:49:28.323 回答