【问题标题】:Why does vue-draggable select text in Edge + IE11?为什么 vue-draggable 在 Edge + IE11 中选择文本?
【发布时间】:2018-04-12 10:08:34
【问题描述】:

我遇到了这样一种情况:vue-draggable 在 Chrome 和 Firefox 中按预期工作,但在 Edge 和 IE 中却没有。在那里,浏览器不会拖动列表项,而是选择文本。

考虑一下fiddle

HTML:

<div id="main">       
    <draggable :list="list" class="dragArea">
        <a v-for="element in list">{{element.name}}</a>
    </draggable>
</div>

JavaScript + Vue:

var vm = new Vue({
  el: "#main",
  data: {
    list:[{name:"Apple"}, 
          {name:"Banana"}, 
          {name:"Cherry"} ]
  }
});

CSS:

.dragArea{
    min-height: 10px;
    background-color: greenyellow;     
    cursor: pointer;
}
.dragArea a {
    display: block;
}

我在文档中找不到任何相关内容。

【问题讨论】:

    标签: vue.js draggable


    【解决方案1】:

    我找到了解决方案。使用&lt;div&gt; 而不是&lt;a&gt;。不过,我无法解释原因。

    HTML:

    <div id="main">       
        <draggable :list="list" class="dragArea">
            <div v-for="element in list">{{element.name}}</div>
        </draggable>
    </div>
    

    JavaScript + Vue:

    var vm = new Vue({
      el: "#main",
      data: {
        list:[{name:"Apple"}, 
              {name:"Banana"}, 
              {name:"Cherry"} ]
      }
    });
    

    CSS:

    .dragArea{
        min-height: 10px;
        background-color: greenyellow;     
        cursor: pointer;
    }
    .dragArea a {
        display: block;
    }
    

    Fiddle.

    【讨论】:

    • 事实证明,这是一个双刃剑:删除元素的‹a›-ness会破坏其他地方的可拖动性(Firefox 或 Safari 无法正确创建重影光标下方的元素、IIRC 或类似的东西)。
    • 即使有 div,Bug 仍然存在于最新的 safari 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    相关资源
    最近更新 更多