最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • interact.js 中文文档(功能选项)

    正文概述 掘金(TRexK)   2021-02-01   1342

    功能选项(Action Options)

    可交互对象(Interactable)中的方法 draggable()resizable()gesturable() 被用为开启和设置对目标元素的功能。他们有一些共有的配置选项和一些特有功能的选项和事件属性。

    拖动,调整尺寸和动作交互会触发一个 InteractEvent 事件,该事件有如下共有属性适用于所有功能类型:

    交互事件属性描述
    target正在进行交互的对象interactable正在进行交互可交互对象(Interactable)interaction事件所属于的交互类型x0, y0页面的 x 和 y 坐标在事件开始时候clientX0, clientY0客户端的 x 和 y 坐标在事件开始时候dx, dy鼠标、触摸在坐标上的变化velocityX, velocityY指针横向或纵向的速度speed指针的速度timeStamp事件开始时候的时间

    Common Action Options

    可交互对象(Interactable)的 draggable, resizablegesturable 接收 truefalse 来开启或禁用该功能,或一个具有配置属性的对象来改变某些设置。

    max

    max 用来限制可指向一个交互对象的交互事件的并发数量。默认情况下,任意数量的交互事件可以把同一个交互对象作为目标。

    maxPerElement

    默认情况下只有一个交互事件可以把同一个交互对象 + 元素的组合作为目标。如果您想要允许多个交互事件在同一个目标元素,设置该对象的 maxPerElement 属性为 >= 2

    manualStart

    如果此选项被修改为 true,拖动,调节大小,和手势功能必须调用 交互事件#开始 来被启动,通常的 down, move, <action>start... 序列不会开启一个功能。查看更多在自动开始.

    hold

    在指针按下后延迟配置的毫秒(milliseconds),在开始交互功能。

    inertia

    修改拖动,调节大小的惯性设置。请看 文档/惯性。

    styleCursor

    如果 自动开始 功能被启动,交互时会装饰可拖动,调整尺寸元素的指针当你的指针悬浮在元素上面

    interact(target).styleCursor(false)
    

    禁用所有功能的指针装饰,设置 styleCursor 选项为 false

    cursorChecker

    interact(target)
      .resizable({
        edges: { left: true, right: true },
        cursorChecker (action, interactable, element, interacting) {
          // interact.js 默认情况下使用双向的箭头 <-> ,
          // 但是我们需要特定的箭头 (<- or ->) 在每个方向上
          if (action.edges.left) { return 'w-resize'}
          if (action.edges.right) { return 'e-resize'}
        }
      })
      .draggable({
        cursorChecker () {
          // 拖动事件不设置任意指针
          return null
        }
      })
    

    您可以使用 interact(target).styleCursor(false) 来禁用默认的指针,但是这样会禁用所有功能的指针装饰。禁用或修改每个功能的指针,您可以设置一个 cursorChecker 方法,该方法接受当前交互事件的信息,并返回当前元素 CSS 指针的值。

    autoScroll

    interact(element)
      .draggable({
        autoScroll: true,
      })
      .resizable({
        autoScroll: {
          container: document.body,
          margin: 50,
          distance: 5,
          interval: 10,
          speed: 300,
        }
      })
    

    滚动一个容器(window 或一个 HTMLElement),当拖动或调整尺寸在容器边缘移动的时候。

    allowFrom (把手(handle))

    <div class="movable-box">
      <div class="drag-handle" />
      Content
      <div class="resize-handle" />
    </div>
    
    interact('.movable-box')
      .draggable({
        allowFrom: '.drag-handle',
      })
      .resizable({
        allowFrom: '.resize-handle',
      })
      .pointerEvents({
        allowFrom: '*',
      })
    

    allowFrom 让您以一个 CSS 选择器或一个元素为目标,必须以此元素的指针按下事件为目标才能让功能开启。这个选项适用于拖动,调整尺寸,手势和 pointerEvents (向下(down), 移动(move), 持续(hold), 等。)。使用 allowFrom 选项,你可以分别设置每个功能的把手和每个指针事件监听器(listeners)。

    allowFrom 元素必须为可交互对象(interactable)的子元素。

    ignoreFrom

    <div id="movable-box">
      <p class="content">可选择文本</p>
      <div no-pointer-event>不会触发点击,持续按下,等事件</div>
    </div>
    
    var movable = document.querySelector('#movable-box')
    
    interact(movable)
      .draggable({
        ignoreFrom: '.content',
        onmove: function (event) {
          /* ... */
        }
      })
      .pointerEvents({
        ignoreFrom: '[no-pointer-event]',
      })
      .on('tap', function (event) {
      })
    

    ignoreFrom 让您选择您目标中的元素来避免启动任意功能。这个功能可以用到在特定元素在交互时需要保持默认的行为。举个栗子:在一个文本或可编辑的对象附近拖动,用一个可拖动的元素包含并忽略(ignore)可编辑元素,在不拖动元素的情况下,您可以保留高亮文本的行为。

    enabled

    启用可交互对象(Interactable)的功能。如果配置对象中没有 enabled 或 属性值为这是为 true,此函数会被开启。如果 enabled 被设置为 false,这个功能会被禁用。


    起源地下载网 » interact.js 中文文档(功能选项)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元