JQuery UI可选-如何自定义其行为
我希望确保可选择的应用程序具有以下非常原始的行为:JQuery UI可选-如何自定义其行为,jquery,jquery-ui,Jquery,Jquery Ui,我希望确保可选择的应用程序具有以下非常原始的行为: 完全禁用套索选择,仅切换触摸的对象(单击) 完全按照按下Ctrl键时所做的操作,例如取消选择选定项和选择未选定项,并让用户不必按住Ctrl键 我试图构建一个篮子,当它打开时,它的内容被显示,一些项目被突出显示。然后用户选择更多或取消选择其他,提交表单。就这些 我与Selective斗争了相当长的一段时间,这是一个非常聪明的脚本,但我似乎无法实现这一基本要求。当显示表单时,用户需要按住Ctrl键,否则已选择的项目将丢失。前几天我回答了类似的问题,
我与Selective斗争了相当长的一段时间,这是一个非常聪明的脚本,但我似乎无法实现这一基本要求。当显示表单时,用户需要按住Ctrl键,否则已选择的项目将丢失。前几天我回答了类似的问题,我认为这解决了问题的第一部分-。这允许左键单击或套索选择/取消选择,而无需按Ctrl键 然而,回顾过去,我为这个问题创建了
tolerance: 'fit'
对可选择者来说,它似乎通过套索禁用了选择,我认为这解决了你问题的第2部分
最后,如果使用jQueryUI主题,还需要覆盖套索样式。有关的主题规则是:
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
什么的
.ui-selectable-helper { display:none }
我应该这样做
完全不使用可选选项更容易:
$('ul > li').click(function() {
$(this).toggleClass('ui-state-highlight');
});
这和你说的不一样。据我所知,
tolerance:“fit”
是关于套索是否需要包围一个元素来选择它。@Sahuagin对于这个问题,它确实有帮助,因为很难开始选择项目并设法用套索完全包围一个项目。那时候显然已经足够好了。这不是一个防弹的解决方案,因为,根据可选项目的大小和形状,可能仍然可以套索。@andyb好吧,对我来说,在chrome中,你的演示甚至不起作用。点击并没有选择任何东西,如果我拖动一个足够大的区域,我仍然可以套住东西。@Sahuagintolerance:“fit”
不在演示的设置中(我承认这不是一个理想的“演示”),但我的回答是“如果你添加…”。因此,添加它将删除套索选择,如我所述。该演示在Windows Chrome 43.0.2334.0上运行良好。您使用的是哪种Chrome?@andybtolerance:“fit”
在更新的演示中。昨天不起作用,但现在似乎起作用了。