<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Page</title>
<link rel="stylesheet" type="text/css" href="../javascript library/css/ext-all.css"/>
<script type="text/javascript" src="../javascript library/ext-base.js"></script>
<script type="text/javascript" src="../javascript library/ext-all.js"></script>
<style type='text/css'>
body{font-size: 12px; margin: 10px;}
.block {
border: 1px red solid;
height: 80px;
margin-top: 50px;
padding: 20px 0 0 20px;
clear: both;
}
.item {
border: 1px #000 solid;
margin-right: 10px;
width: 60px;
height: 40px;
text-align: center;
padding-top: 20px;
color: White;
float: left;
cursor: pointer;
}
.BorderOver{border:dashed 2px #00f; }
</style>
</head>
<body>
<script type="text/javascript">
Ext.onReady(function() {
var proxy = new Ext.dd.DDProxy("proxy"); //建立一个可以拖动的对象
//(ExtJs的拖动组件分二大类,DDProxy就是要拖动的东西,而DDTarget就是拖动后可以扔进去的目标容器区)
//以下建立了三个拖动源DropSource(继承自DDProxy可以查看官方文档),并标明gruop为dd
var proxy_red = new Ext.dd.DragSource('proxy_red', { group: 'dd'});
var proxy_green = new Ext.dd.DragSource('proxy_green', { group: 'dd' });
var proxy_black = new Ext.dd.DragSource('proxy_black', { group: 'dd' });
//拖动完成的事件
proxy_red.afterDragDrop = function(target, e, id) {
var destEl = Ext.get(id);
var srcEl = Ext.get(this.getEl());
if (destEl.dom.id == 'target2') {
if(srcEl.dom.id != 'proxy_red') {
destEl.dom.style.border = 'solid #000 1px';
alert('此区域仅接受红色色块');
return false;
}
}
var sColor = srcEl.dom.id.split('_')[1]; //取得拖动源id后面的一部分,即proxy_red后面的red;
destEl.dom.style.backgroundColor = sColor; //设置目标id的背景色
destEl.dom.style.border = "solid #000 1px";
};
proxy_red.onDragEnter = function(e, id) {
Ext.get(id).dom.style.border = 'dashed #00f 2px';
Ext.get(id).dom.style.backgroundColor = '#fff';
// 添加CSS颜色
if (id != this.el.dom.parentNode.id) {
this.el.addClass('dropOK');
}
else {
// 移除邀请
this.onDragOut();
}
}
proxy_green.onDragOut = function(e, id) {
Ext.get(id).dom.style.border = 'solid #000 1px';
}
proxy_green.afterDragDrop = proxy_red.afterDragDrop; //设置为相同的事件处理函数。
proxy_black.afterDragDrop = proxy_red.afterDragDrop;
// proxy_green.onDragEnter = proxy_red.onDragEnter; //设置为相同的事件处理函数。
proxy_black.onDragEnter = proxy_red.onDragEnter;
// proxy_green.onDragOut = proxy_red.onDragOut; //设置为相同的事件处理函数。
// proxy_black.onDragOut = proxy_red.onDragOut;
var target = new Ext.dd.DDTarget('target', 'dd'); //建立拖动目标区(这里的‘dd'与上面拖动源的’dd‘相同,
//只有相同的group的DDProxy/DragSource才会接受)
var target2 = new Ext.dd.DDTarget('target2', 'dd');
});
</script>
<div>
<div id='proxy_red' class='item' style='background:red'>Red</div>
<div id='proxy_green' class='item' style='background:green'>Green</div>
<div id='proxy_black' class='item' style='background:black'>Black</div>
<div id='proxy' class='item' style='color:Black'>Deplacer</div>
</div>
<div id="target" class="block">try to place the block into this block</div>
<div id="target2" class="block">try to place the block into this block(only red block)</div>
</body>
说明:DDProxy是可拖动的对象。DragSource和DragTarget继承DDProxy。DragSource是可拖动的块,DragTarget是被拖动对象的容器。
程序运行图片:
分享到:
相关推荐
ExtJS 是一个强大的JavaScript 框架,专用于构建富客户端Web应用程序。它提供了一整套组件化的用户界面元素,包括表单(Form)、网格(Grid)、树形视图(Tree)等,使得开发者能够创建出功能丰富且交互性强的前端...
总的来说,这门入门教程将带你进入ExtJS的世界,通过TreePanel和GridPanel的实践,你将掌握基本的组件使用和数据管理技巧,为构建更复杂的企业级应用打下基础。记得在实践中不断探索和实验,理论结合实际,才能真正...
在“ExtJS入门教程(超级详细)”中,你可以期待学习到以下几个核心知识点: 1. **基本概念**:首先,了解ExtJS的基本架构和工作原理,包括MVC(Model-View-Controller)模式、组件模型和事件处理机制。 2. **安装与...
本篇将基于"Extjs3.x入门学习"这一主题,深入探讨相关知识点。 1. **EXT_JS实用开发指南**: 这份文档可能包含了关于ExtJS的基本概念、架构以及开发流程的介绍,帮助初学者快速上手。可能包括如何创建基本的页面...
### ExtJS快速入门教程知识点概览 #### 一、ExtJS简介 - **定义**: ExtJS是一个用JavaScript编写的前端框架,旨在简化Web应用程序的开发过程,尤其适用于创建丰富的交互式用户界面(RIA)。它独立于后端技术,可以...
- ExtJS5引入了新的功能,如Material设计风格、拖放改进、表单验证、数据包更新等,提高了用户体验和开发效率。 2. **Spring4**: - Spring是一个开源Java框架,主要用于简化企业级应用开发。Spring4增强了对Java...
1. **组件拖放设计**:在ExtJS可视化设计器中,你可以通过拖放的方式选择各种预定义的组件(如表格、面板、按钮等)到工作区,并进行布局调整。这种直观的设计方式使得非程序员也能快速上手,创建复杂的UI结构。 2....
"ExtJS入门教程(超级详细).pdf"是一个深入的初学者教程,可能涵盖了从安装到实际应用开发的全过程。这个教程可能会详细解释ExtJS的架构,包括模型(Model)、视图(View)、控制器(Controller)之间的关系,以及...
除了以上内容,ExtJS 4.0还包括对图表、表格、表单、拖放、数据绑定、事件处理等方面的改进和增强。学习ExtJS需要深入了解其组件体系、布局机制、数据绑定以及MVC架构。同时,持续查阅官方文档和社区资源,结合实践...
对于初学者而言,ExtJs可视化开发工具3.0提供了一个学习ExtJS的绝佳平台,它降低了入门难度,使得开发者能更快地掌握这个强大的JavaScript框架。对于经验丰富的开发者,这个工具则提供了一种快速原型设计和快速迭代...
通过这个"ExtJS-4.1.1a-gpl+中午手册+入门教程",开发者可以获得全面的学习资源,快速上手ExtJS开发,并利用其强大的功能构建高质量的Web应用程序。记得查阅文档以获取详细的API信息和示例代码,这对深入理解和使用...
这个工具允许开发者通过拖放界面组件和配置属性,快速构建复杂的用户界面,大大简化了 ExtJS 开发流程。在这个版本中,重点是提高开发效率和用户体验。 首先,我们要理解 ExtJS 是什么。ExtJS 是一个基于 ...
《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计...
5. **拖放功能**:内置拖放API,使组件之间可以通过拖放实现交互。 6. **图表和图形**:EXT JS 2.3可能包含了简单的图表功能,用于数据可视化。 7. **可扩展性**:EXT JS具有良好的模块化设计,方便开发者扩展和...
#### 三、ExtJS 4.0 入门教程 ##### 1. 获取 ExtJS 4.0 要开始使用 ExtJS 4.0,首先需要从官方网站下载框架。访问 [http://extjs.com/download](http://extjs.com/download),选择合适的版本进行下载。对于初学者而...
【标题】与【描述】中提到的"Ext学习资料适合入门"是指ExtJS框架的学习资源,适合初学者使用。ExtJS是一个用于构建富客户端Web应用的JavaScript库,它提供了丰富的组件和API,能够帮助开发者创建功能强大的交互式...
MHT是单一文件网页(MHTML)的格式,可能包含了ExtJS官方的基础入门教程。官方教程通常会介绍如何设置开发环境、创建第一个ExtJS应用、理解基本组件和布局,以及如何处理用户交互。这对于初学者来说是非常宝贵的...
6. **拖放功能**:如果涉及,可能会介绍如何在ExtJs中实现拖放交互。 7. **实战演练**:通过一个实际的小项目,演示如何从头到尾构建一个使用Ajax和ExtJs的Web应用。 总的来说,这个视频教程将为Java开发者提供一个...
总的来说,"extjs javascript 开发工具 1" 包含了开发ExtJS应用程序的基础工具,既有ExtJS的官方API文档,也有强大的WebStorm IDE,可以帮助开发者快速入门并高效地开发复杂的Web应用程序。通过深入学习和实践,...