【问题标题】:jquery ui sortable: can't type in input fields with cancel methodjquery ui sortable:无法使用取消方法输入输入字段
【发布时间】:2012-12-03 14:19:06
【问题描述】:

在实现sortablecancel 方法后,我不能再使用输入字段输入数据了。

$(function() {
            $( ".sortable" ).sortable({
                connectWith: ".connected-sortable",
                cancel: ".not-sortable",
                update: function(){

                // php update...
                }
            });
});​

所有输入字段都可以正常工作没有 cancel,知道如何解决这个问题吗?还是我在html代码中犯了一些错误等?

这里是测试页 -

jsfiddle

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-sortable jquery-ui-draggable


    【解决方案1】:

    这真的很奇怪,而且可能有点痛苦。

    我想出了一个解决方法,但它不是最干净的。

    $('input').on('click', function(e) {
        $(this).trigger({
            type: 'mousedown',
            which: 3
        });
    });
    
    $('input').on('mousedown', function(e) {
        if(e.which == 3){
            $(this).focus();   
        }
    });
    

    基本上,在上面,我们检测到点击。该事件仍然触发,所以我们触发 mousedown 并声明 3 中的哪一个,这是右键单击,因为由于某种原因右键单击有效。然后在我们触发的 mousedown 中,我们检测是否是右键单击,如果是,我们将聚焦元素。

    【讨论】:

    【解决方案2】:

    一个好的解决方案是设置handle 选项。将要求您在LI 中创建一个不在input 之上的额外元素。该元素将充当拖动手柄

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 2014-08-06
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 2019-12-27
      相关资源
      最近更新 更多