2

我希望能够通过单击或使用套索来取消选择选定的项目,就像在 Photoshop 中我按住另一个键来“取消选择”现有选择的部分一样。

这可能吗?

据我了解“jQuery UI 可选”。只有带或不带 CTRL 的“单击”来添加多个,然后是快速套索。

我试图通过再次单击它们来查看如何取消选择整个选择的一个或两个元素。

例如,您拖动套索并获得 30 个元素,但发现 1 不需要成为此选择的一部分。您单击它并取消选择它。

因此,对现有选择做出反应并删除所选元素的东西。

或者使用套索,您可以选择套索。获取 30 个元素。然后你画一个新的套索,这次从一个已经选择的元素开始,现在它默认取消选择,标记组的其余部分也是如此。

如果有的话,我相信这应该是 jQueryUI 的可定制行为。

但是是否可以通过简单的 jQuery hack 实现“单次取消选择”,还是需要大量代码?

4

1 回答 1

0

看来我可以并且需要自己修改 Selectable 来做到这一点。

我找到了 Nicolas Rudas(?)的这个例子:http: //nicolas.rudas.info/jquery/selectables_sortables/

$(function() {
        $("#selectable")
            .selectable({
                autoRefresh: false,
                stop: function(e,ui){
                    $(this).selectable( 'refresh');
                },
                noConflict : false
            })
            .sortable({
                opacity:'0.5',
                cursor: 'move',
                zIndex: 5,
                helper : 'clone',
                forcePlaceholderSize : true,
                stop : function(){
                    $("#selectable").selectable( 'refresh');
                }
            })


        $('#noConflict').toggle(function() {
            $(this).text('Disable \'noCoflict\'');
            $("#selectable").selectable('option','noConflict',true).selectable( 'refresh');
        },
        function() {
            $(this).text('Enable \'noCoflict\'');
            $("#selectable").selectable('option','noConflict',false).selectable( 'refresh');


        });

    });

他展示了他如何启用我们正在寻找的功能。他还描述了一些他也解决的问题。我现在将自己更彻底地研究他的代码。

因此,我要结束这个问题。

于 2010-06-02T00:24:06.277 回答