【问题标题】:JQuery UI Selectable Box Dimensions / PropertiesJQuery UI 可选框尺寸/属性
【发布时间】:2015-05-30 21:48:19
【问题描述】:

基本上,当我从左向右拖动鼠标时,我想将tolerance 设置为fit,当我从右向左拖动鼠标时,我想将touch 设置为touch(类似于 CAD 程序的操作方式)。我环顾四周,除了修改标准 JQuery UI 代码以将至少 2 个变量移动到全局范围之外(我更喜欢 not 来修改任何标准文件),似乎没有这样做的方法。

目前我看到的方法涉及修改selectable方法中的_mouseDrag函数,从而将x1x2变量移动到更全局的状态来读取它们(它们代表开始和结束所选区域框的水平点)。

澄清一下:

  • JQuery = 1.10.2(与JQuery UI demo's 相同)
  • JQuery UI = 1.11.4(与 JQuery UI 演示中的相同)(第 12059 行是 _mouseDrag 的开始)
  • 浏览器 = Ubuntu 14.04 上的 Firefox,一切都是最新的

【问题讨论】:

    标签: javascript jquery jquery-ui selectable jquery-ui-selectable


    【解决方案1】:

    如果clientX 小于或大于start 事件上的clientX,您可以检查mousemove,并根据情况修改tolerance 选项。 像这样:

           start: function (e, ui) {
                startX = e.clientX;
                $('#selectable').mousemove(function (e) {
                    if (e.clientX < startX) {
                        $('#selectable').selectable('option', 'tolerance', 'touch');
                    } else {
                        $('#selectable').selectable('option', 'tolerance', 'fit');
                    }
                });
            }
    

    http://jsfiddle.net/8fpr6c14/2/

    【讨论】:

      猜你喜欢
      • 2021-11-06
      • 2013-03-23
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多