Dojo 的拖动

2024-03-26 18:32
文章标签 拖动 dojo

本文主要是介绍Dojo 的拖动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 在 Dojo中实现拖动的效果需要用Dojo 所提供的标签属性标注出希望实现拖动的实体。简单的说,就是如果希望一个实体可以拖动,则只需要在这个实体的标签里面加上 dojoType=“dojo.dnd.Moveable”这个属性。例如要实现一个表格的拖动,则只需要在这个表格的声明标签“<table>”里加上 dojoType=“dojo.dnd.Moveable”这个属性。甚至就是在“<tr>”或“<td>”标签中加上 dojoType=“dojo.dnd.Moveable”,也可以实现对应实体的拖动效果。下面就是一个Dojo的拖动例子,代码如下:
<html>
<head>
   <script type="text/javascript"
    djConfig="parseOnLoad: true, isDebug: true"
    src="dojoapp/dojo/dojo.js"></script>
</head>
<body>
<script type="text/javascript">
dojo.require("dojo.dnd.move"); //引入Dojo的拖动功能模块
dojo.require("dojo.parser"); //引入解析Dojo标记的功能模块
</script>
   <table dojoType="dojo.dnd.Moveable">
    <tbody>
     <tr>
      <td>
       Dojo 的拖动效果
      </td>
     </tr>
    </tbody>
   </table>
</body>
</html>
需要注意的是静态创建可拖动实体需要引入 dojo.require("dojo.parser") 。
8.4.2 动态实现可拖动实体
在上面程序中,通过在一些实体的标签里面加上相应的 Dojo 标签属性来实现可拖动实体的创建。这种静态实现可拖动实体的方法简单明了。但是在更多的情况下,往往需要根据一些实际情况运行得到的数据来动态的创建可拖动实体。在这种情况下,静态实现可拖动实体的方法就不能满足当下的需求。所以 Dojo 对于所有静态实现的方法都对应有一套相应的动态实现方法。下面就是一个动态实现可拖动实体的例子,代码如下:
<html>
<head>
   <script type="text/javascript"
    djConfig="parseOnLoad: true, isDebug: true"
    src="dojoapp/dojo/dojo.js"></script>
</head>
<body>
   <script type="text/javascript">
dojo.require("dojo.dnd.move"); //引入Dojo的拖动功能模块
var m1;
var init = function() {
   m1 = new dojo.dnd.Moveable("tb1", {});//申明 id 为 "tb1" 的实体为可拖动实体
};
dojo.addOnLoad(init);// 表示在页面加载完成以后,执行 init 函数
</script>
   <table id="tb1" border="1">
    <tbody>
     <tr>
      <td>
       Dojo 的拖动效果
      </td>
     </tr>
    </tbody>
   </table>
</body>
</html>

这篇关于Dojo 的拖动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/849458

相关文章

C#自定义控件的放置与拖动

1、自定义控件 using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Drawing.Drawing2D;using System.Linq;using System.Text;using System.Threading

用鼠标拖动终端cmd 会产生ctrl-C中断,导致程序终止

电脑上用vnc或者mstsc登陆远程服务器,只要一用鼠标拖动终端的窗口,就会产生一个^C中断,就像按下了Ctrl-C一样,导致正在运行的程序终止。用鼠标选定内容后复制或者拖动滚动条也会出现同样的问题。 对此问题的解决方案是,将WIN上运行的各种词典关闭屏幕取词! 也有可能是系统上的某个软件影响到了远端的cmd上的运行,可以全部关闭测试。

Qt QGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小_图片查看

QtQGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小  头文件: #ifndef TIMGWIDGET_H#define TIMGWIDGET_H#include <QGraphicsItem>#include <QMainWindow>#include <QObject>#include <QWidget>// class TImgWidget : pub

仿华为车机UI--图标从Workspace拖动到Hotseat同时保留图标在原来位置

基于Android13 Launcher3,原生系统如果把图标从Workspace拖动到Hotseat里则Workspace就没有了,需求是执行拖拽动作后,图标同时保留在原位置。 实现效果如下: 实现思路: 1.如果在workspace中拖动,则保留原来“改变图标位置”的功能 2.如果拖拽到Hotseat,则添加到Hotseat的同时也在原来位置复制一个一样的View  3.每次改变

阿里云的记忆播放与进度条不允许拖动disableSeek需求同时存在

阿里云的记忆播放与进度条不允许拖动disableSeek需求同时存在 需要阿里云的记忆播放的源码修改 1.手动关闭进度条禁用方法 2.player.seek先跳转到指定的位置 3.手动开启进度条禁用添加延时100 100毫秒中记忆播放已经跳转到指定位置,然后进度条不允许拖动disableSeek也执行 let memoryVideoTime = this.getVideoTime(memor

C# wpf 无边框窗口实现拖动调整大小

WPF拖动改变大小系列 第一节 Grid内控件拖动调整大小 第二节 Canvas内控件拖动调整大小 第三节 窗口拖动调整大小(本章) 第四节 附加属性实现拖动调整大小 第五章 拓展更多调整大小功能 文章目录 WPF拖动改变大小系列前言一、如何实现?1.继承Adorner2.使用Thumb3.实现拖动逻辑 二、完整代码三、使用示例总结 前言 在《C# wpf Grid中

C# wpf Grid中实现控件拖动调整大小

WPF拖动改变大小系列 第一节 Grid内控件拖动调整大小(本章) 第二节 Canvas内控件拖动调整大小 第三节 窗口拖动调整大小 第四节 附加属性实现拖动调整大小 第五章 拓展更多调整大小功能 文章目录 WPF拖动改变大小系列前言一、功能说明二、如何实现?1.继承Adorner2.使用Thumb3.实现拖动逻辑 三、完整代码四、使用示例总结 前言 在《C# wpf

C# wpf Canvas中实现控件拖动调整大小

WPF拖动改变大小系列 第一节 Grid内控件拖动调整大小 第二节 Canvas内控件拖动调整大小(本章) 第三节 窗口拖动调整大小 第四节 附加属性实现拖动调整大小 第五章 拓展更多调整大小功能 文章目录 WPF拖动改变大小系列前言一、功能说明二、如何实现?1.继承Adorner2.使用Thumb3.实现拖动逻辑 三、完整代码四、使用示例总结 前言 我们做图片编辑工

C# wpf 附加属性实现任意控件(包括窗口)拖动

系列文章目录 第一章 Grid内控件拖动 第二章 Canvas内控件拖动 第三章 任意控件拖动 第四章 窗口拖动 第五章 附加属性实现任意拖动(本章) 第六章 拓展更多拖动功能 文章目录 系列文章目录前言一、如何实现?1.定义附加属性2.整合功能3.关联功能 二、完整代码三、使用示例1.拖动控件(1)、Grid内控件拖动(2)、Canvas内控件拖动(3)、其他任意控件拖动 2.拖动

C# wpf 实现任意控件拖动

系列文章目录 第一章 Grid内控件拖动 第二章 Canvas内控件拖动 第三章 任意控件拖动(本章) 第四章 窗口拖动 第五章 附加属性实现任意拖动 第六章 拓展更多拖动功能 文章目录 系列文章目录前言一、如何实现?1.注册鼠标事件2.记录位置3.跟随鼠标移动4.恢复标识 二、示例总结 前言 在《C# wpf 实现Grid内控件拖动》和《C# wpf 实现Canva