我将样本放在以下位置:http://jsbin.com/axegem/1
这是场景.当我拖动div并将它们放到另一个地方时,我需要检索div的新顺序.例如,假设(关于我的样本),我在DIV 6之后拖放DIV 3.现在我正在尝试获得div的新顺序.为了测试,我在以下代码中警告他们的html文本:
$(".draggable").each(function(){
alert($(this).html());
});
Run Code Online (Sandbox Code Playgroud)
我期待警报顺序为:DIV 1,DIV 2,DIV 4,DIV 5,DIV 6,DIV 3,DIV 7,DIV 8,DIV 9.但我在样本中得到的是DIV 1,DIV 2,DIV 3,DIV 4,DIV 5,DIV 6,DIV 7,DIV 8,DIV 9.
如何在将div放入新位置后获取div的新订单?
我想在拖放过程中更改我的节点上的光标,但图像没有变化.我打电话setCursor()在DragDetectedEventHandler我的节点.我也尝试过调用getParent().setCursor()并得到相同的结果.我也试过在其他各种事件处理程序中执行此操作,例如鼠标按下并拖动.最好的是,我在释放鼠标按钮后让图像发生变化,但我需要在拖动过程中使图像不同.有人知道怎么做吗?
private class DragDetectedEventHandler implements EventHandler<MouseEvent> {
@Override
public void handle(MouseEvent mouseEvent) {
System.out.println("Drag Detected");
Dragboard db = startDragAndDrop(TransferMode.MOVE);
ClipboardContent content = new ClipboardContent();
content.putString("sample-drag-text");
db.setContent(content);
setCursor(_imageCursor);
mouseEvent.consume();
}
}
Run Code Online (Sandbox Code Playgroud) 我知道标题令人困惑,但问题很容易复制.
我的页面上有一些可以放置的元素(jQueryUI),hoverClass显示它们被拖动的时间.但是,我有一些隐藏的元素,有时在拖动过程中显示,然后不应该像他们应该的那样响应他们的hoverClass.
我在这里有一个显示这种情况的jsFiddle ,但是,如果你继续拖动div最终listItems开始显示他们的hoverClass.但是,在我的网站上这永远不会发生...... hoverClass永远不会出现在新显示的项目上.
HTML
<ul>
<li>Row1</li>
<li>Row2</li>
<li>Row3<span id="More">MORE...</span></li>
<li style="display: none;">Row4</li>
<li style="display: none;">Row5</li>
</ul>
<div id="DragMe">DragMe!</div>
Run Code Online (Sandbox Code Playgroud)
CSS
#DragMe {
position: absolute;
height: 100px;
width: 100px;
border: 1px solid black;
background-color: RGBA(255,255,255,0.5);
}
.DragOver {
background-color: #000000;
color: #FFFFFF;
}
#More {
margin-left: 10px;
}
Run Code Online (Sandbox Code Playgroud)
JavaScript的
$('#DragMe').draggable({
cursorAt: {top: 50, left: 50}
});
$('li').droppable({
hoverClass: 'DragOver'
});
$('#More').droppable({
over: function() {
$('li').show();
}
});
Run Code Online (Sandbox Code Playgroud)
有什么我可以改变,以使这工作正常吗?
jquery drag-and-drop jquery-ui jquery-ui-draggable jquery-ui-droppable
我的应用程序中的gridview.我想通过拖放来重新排列GridView项目.假设第一项被拖到第二项上,它们的位置应该被替换.我尝试实现Android的Home Screen的方式.但它没有用.

标题或多或少是不言自明的,我一直在研究许多不同的教程,而且我对AS3来说并不是很完美.(上图显示了我的目标)
无论如何,在我看到的大多数在线教程中我注意到,拖放教程要么基于一个对象到一个目标,要么多个对象到多个目标,所以我想知道是否有人能够帮助我并解释如何我可以获得多个对象连接到一个目标.
并且,如果可能的话,使其可切换,例如,当我将对象2拖过时,如果对象1已经在目标上就位,则对象1返回到其原始位置,对象2取代它的位置.
解释这个的一个更简单的方法是说我正在尝试创建一个有三个雕像的游戏,用户可以选择三个中的一个放置在一个设定的目标区域.
如果我说的话没有多大意义,我会道歉,如果这会造成混乱,我会澄清任何事情.这是我目前正在使用的AS3代码.
var startX:int;
var startY:int;
circle1_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
circle1_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
circle2_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
circle2_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
circle3_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
circle3_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
function pickUp(event:MouseEvent):void {
startX = event.target.x;
startY = event.target.y;
event.target.startDrag(true);
event.target.parent.addChild(event.target);
}
function dropIt(event:MouseEvent):void {
event.target.stopDrag();
var theTargetName:String = "target" + event.target.name;
var theTarget:DisplayObject = getChildByName(theTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == theTarget){
event.target.buttonMode = false;
event.target.x = theTarget.x;
event.target.y = theTarget.y;
}
else{
event.target.x = startX;
event.target.y = startY;
circle1_mc.buttonMode = true;
circle2_mc.buttonMode = true;
circle3_mc.buttonMode = …Run Code Online (Sandbox Code Playgroud) 我创建了一个DataView,其中的项目可以在内部拖动以重新排列,但问题是,虽然我可以轻松地拖动和重新排列数据视图中的项目,但在拖动时,创建项目的叠加显示"红色"反馈图标(这表明该项目不能放在这里),虽然我不希望显示任何反馈图标(绿色或红色),只是项目的叠加就足够了.
如何摆脱反馈图标?
我用ObjectAnimator旋转了TextView,如下所示:
ObjectAnimator rotate = ObjectAnimator.ofFloat(aRotatedTextView, "rotation", 0f, someAngle);
Run Code Online (Sandbox Code Playgroud)
现在,我尝试在长按上拖放旋转的(!)TextView,如下所示:
public boolean onLongClick(View view) {
ClipData data = ClipData.newPlainText("DragData", (String) view.getTag());
DragShadowBuilder dragShadowBuilder = new View.DragShadowBuilder(view);
mDragInProgress = view.startDrag(data, dragShadowBuilder, view, 0);
view.setVisibility(View.INVISIBLE);
return true;
}
Run Code Online (Sandbox Code Playgroud)
会发生什么是在没有旋转的情况下创建DragShadow(角度== 0).我已经看到了很多位图(但没有旋转)的例子,我无法工作.有没有办法创建旋转的DragShadow?
我正在研究拖放应用程序,一切正常,但我看到了一个问题.我有3个ImageViews,其中两个是可拖动的对象,另一个是放置目标.每当我将物体放在掉落目标以外的任何位置时,它就完全消失了!
以下是我使用的代码:
ImageView iv1, iv2, iv3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initControls();
}
private void initControls() {
// TODO Auto-generated method stub
iv1 = (ImageView) findViewById (R.id.imageView1);
iv2 = (ImageView) findViewById (R.id.imageView2);
iv1.setTag("a");
iv2.setTag("b");
iv3 = (ImageView) findViewById (R.id.imageView3);
iv1.setOnTouchListener(new MyTouchListener());
iv2.setOnTouchListener(new MyTouchListener());
iv3.setOnDragListener(new MyDragListener());
}
private final class MyTouchListener implements OnTouchListener {
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
ClipData data = ClipData.newPlainText("", "");
DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view);
view.startDrag(data, shadowBuilder, …Run Code Online (Sandbox Code Playgroud) 我使用dropzone.js获得一个很好的上传表单.我链接PHP代码上传文件,我设置addRemoveLinks = true所以我有删除按钮.
我需要一个想法,当我点击删除按钮时,如何有效地删除用PHP代码上传的filse.
php很简单,但我不需要知道如何关联它们.我已经尝试在此函数中使用$ .post removefile:function(file)但没有成功.
removedfile: function(file) {
$.post("test.php");
var _ref;
return (_ref = file.previewElement) != null ? _ref.parentNode.removeChild(file.previewElement) : void 0;
},
Run Code Online (Sandbox Code Playgroud) 在我的项目中,我需要构建一个类似iGoogle的页面.该页面将具有多个拖放小部件,每个小部件都是一个单独的应用程序.
任何建议/链接?