Html5原生拖拽操作实例讲解


当前第2页 返回上一页

解决方案是为容器绑定dragover事件


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

     <ul class="canDrog">

        <li draggable="true" id="1">优</li>

        <li draggable="true" id="2">良</li>

        <li draggable="true" id="3">中</li>

        <li draggable="true" id="4">差</li>

    </ul>

    <table class="dataTbl">

            <thead>

                <tr>

                    <th style="width: 10%">节次/星期</th>

                    <th>周一</th>

                    <th>周二</th>

                    <th>周三</th>

                    <th>周四</th>

                    <th>周五</th>

                </tr>

            </thead>

            <tbody>

                <tr>

                    <td>第一节</td>

                    <td draggable="true" ></td>

                    <td draggable="true" ></td>

                    <td draggable="true" ></td>

                    <td draggable="true" ></td>

                    <td draggable="true" ></td>

                </tr>

                <!--此处省略-->

            </tbody>

    </table>

<script>

    $('.canDrog > li').bind('dragstart',function(event){

        //firefox 必须访问用于拖拽通信的dataTransfer对象

        event.dataTransfer.setData("Text",'1');

    });

    //google chrome,opera需要添加

    $(".dataTbl").bind("dragover",'td',function(e){ 

        e.originalEvent.preventDefault(); 

    }) 

</script>

4. 解决放置时firefox打开新选项卡问题

使用firefox的时候如果释放了被拖拽的元素,默认浏览器将会打开一个新的选项卡,如下

这是由于drop回调函数之后浏览器执行了默认行为,通常的解决方案在拖拽容器的drop钩子中添加阻止默认事件执行以及阻止冒泡的代码。


1

2

3

4

5

6

7

8

<script>

    //将元素释放到当前元素中

    $('.dataTbl').bind('drop','td',function(event){

        console.log('+++drop');

        event.preventDefault();

        event.stopPropagation();

    });

</script>

但是如果将draggable元素拖到其他地方,依然会导致打开新选项卡问题的出现,这时可以为所有容器添加如上代码。

5. 编写一个完整小例子

源码: https://github.com/pluslicy/drag

随后将对vuedraggable插件库进行学习,应用在vue框架中

相关推荐:

H5怎么做出拖拽效果

Bootstrap Modal添加拖拽的方法实例

JS实现的简单拖拽购物车功能

以上就是Html5原生拖拽操作实例讲解的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

htm5新增的表单元素keygen标签的用法和属性介绍

HTML5中的dom编程的实现步骤

关于HTML5 input placeholder 的颜色修改

h5 语义化标签介绍

浅谈HTML5的未来发展

HTML5地理定位与第三方工具百度地图的应用

HTML5 dialog是什么?怎么使用HTML5中的dialog来实现模拟弹窗?

h5中在拖动的元素或选择的文本进入到有效的放置目标时触发的事件ondragenter

HTML5 video 上传预览图片视频,设置、预览视频某秒的海报帧

HTML5的地理定位如何使用

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    暂无评论...