jQuery Selectable - 通过单击取消选择单个元素 - 这可能吗?

发布于 2024-09-04 01:41:43 字数 458 浏览 6 评论 0原文

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

这可能吗?

据我了解“jQuery UI 可选择”。只需“单击”(无论是否按住 CTRL)即可添加多个,然后是快速套索。

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

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

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

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

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

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

I would like to be able to deselect a selected item by clicking or using lasso, just like in Photoshop where I keep another key down to "deselect" parts of an existing selection.

Is this possible?

As I understand "jQuery UI selectable". There is only "single click" with or without CTRL to add multiple and then the quick lasso.

I am trying to see how it would be possible to deselect, one or two elements of a whole selection by clicking them off again.

Eg, you drag the lasso and get 30 elements but finds that 1 does not need to be part of this selection. You click it and deselects it.

So something that reacts to the existing selection and removes the choosen element.

Or with the lasso, you make a lasso selection. Gets 30 elements. Then you draw a new lasso, this time starting on an already selected element, now it default deselects and so does the rest of the group marked.

I believe this should be customizable behaviour for the jQueryUI if anything.

But is the "single deselect" possible with a simple jQuery hack or will it demand a lot of code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

离去的眼神 2024-09-11 01:41:43

看来我可以并且需要修改 Selectable 来自己完成此操作。

我发现了尼古拉斯·鲁达斯(?)的这个例子: 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');


        });

    });

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

因此,我结束这个问题。

It seems that I can and will need to modify Selectable to do this myself.

I have found this example by 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');


        });

    });

He shows how he has enabled the feature we were looking for. He also describes some problems which he solves too. I will have a more thorough look into his code myself now.

I am therefore closing this question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文