我正在使用jQuery UI,可以创建一个简单的拖放列表.但是现在,我想把元素放到另一个列表中.jQuery总是认为该项目已经丢弃在错误的地方并将其滑回原始列表.
jquery drag-and-drop jquery-ui jquery-ui-draggable jquery-ui-droppable
在HTML5中的浏览器客户端区域上拖动元素时,如何将光标更改为我想要的任何光标?
到目前为止,我只能在拖动时显示默认光标(除了不支持丢弃的无光标).
我不是在谈论以下任何一种情况:
使用event.dataTransfer.setDragImage()除了光标来显示图像
使用event.dataTransfer.dropEffect以显示除了光标复印件或链路符号,或者将光标改变为无符号
在Firefox中,使用event.dataTransfer.mozCursor,因为它只能执行默认的系统行为,或显示箭头光标,这两者都没有帮助(此外,我想要跨浏览器支持,虽然我主要针对Chrome)
我尝试过许多其他的技巧,包括使用CSS :hover和:focus,和许多使用JavasScript招数,都无济于事.
谢谢你的帮助.
我正在尝试创建一个Windows窗体,我可以删除文件/文件夹.
我在WinForms应用程序中有以下代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_DragEnter(object sender, DragEventArgs e)
{
Debug.Print("DragEnter");
}
private void Form1_DragDrop(object sender, DragEventArgs e)
{
MessageBox.Show("Dropped!");
}
}
Run Code Online (Sandbox Code Playgroud)
我已将AllowDrop属性设置为true.我已经尝试在Visual Studio中的调试中运行该应用程序.基于其他类似问题的答案,我尝试以管理员身份运行已编译的exe.我已经尝试不以管理员身份运行已编译的exe .
但无论我做什么,我都无法触发DragDrop事件.但是,DragEnter事件会触发.我错过了什么?
我试图通过jQuery编写我自己的简单AJAX图像上传脚本.我找到了一些插件,但它们太过于根据需要进行定制,我无法让它们正常工作.
我只是想以某种方式检测用户何时将图像拖放到页面上.从那里我确定上传那些数据并进入/ cache /目录并允许更多选项并不困难.
但是现在我完全陷入了拖放功能.字面上不知道我应该如何处理这个问题.需要什么样的事件处理程序?我是否需要自定义自己的事件处理程序代码?任何建议都不仅仅是值得赞赏的
我有一个自定义mime类型,我打算用它来拖放应用程序中的应用程序对象.这似乎工作,但我发现EditText字段也接受放置操作.我不希望这种情况发生.
首先,我已经定义了如下的custome mime类型:
public static final String MIME_TYPE_MYNODE = "com.example.mockup/mynode";
Run Code Online (Sandbox Code Playgroud)
然后,在源对象的onTouch处理程序中,我有:
@Override
//-----------------------------------------------------------------------------
public boolean onTouch (View v, MotionEvent e)
{
...
else if (e.getAction() == MotionEvent.ACTION_MOVE)
{
String[] mimeTypes = {MIME_TYPE_MYNODE};
ClipData data = new ClipData ("Task Tamer Note", mimeTypes, new ClipData.Item ("unused"));
View.DragShadowBuilder shadow = new View.DragShadowBuilder(this);
Object localState = v;
startDrag (data, shadow, localState, 0);
return false;
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
当我"删除"EditText小部件时,它会在文本区域中插入"unused".我怎么能阻止这个?谢谢.
我有一个RecyclerView - Grid,拖放,使用这个代码我已经设法实现了,并做了很多改变,只有一个问题,我无法保存拖动项目位置重新启动(应用程序不是电话 ).我想到的是将"int position"添加到我的item.java构造函数中,但我不能做的是获取更改的位置.
我正在使用链接中提供的相同拖放代码.
ItemTouchHelper.Callback _ithCallback = new ItemTouchHelper.Callback() {
//and in your imlpementaion of
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
// get the viewHolder's and target's positions in your adapter data, swap them
Collections.swap(AllItems, viewHolder.getAdapterPosition(), target.getAdapterPosition());
// and notify the adapter that its dataset has changed
rcAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
return true;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
//TODO
}
//defines the enabled move directions in each state (idle, swiping, dragging). …Run Code Online (Sandbox Code Playgroud) 我想要实现的目标:我希望在一个可滚动的布局(Recyclerviewwith GridlayoutManager)中有一个视图,其中包含tile(Views).拖放项目内部的项目RecyclerView应调整图标的位置并与其他元素交换.拖动开始时,上方的图标RecyclerView将更改为垃圾桶图标,将视图拖动到此图标将从中删除它RecyclerView.
我尝试了这个优秀的教程,但我没有找到一种方法如何处理拖动外部Recyclerview作为ItemTouchHelper.Callback仅使用Recycler.ViewHolder元素作为可能的目标.
interpolateOutOfBoundsScroll()如果视图移出边界,该方法会给出反馈,但只返回屏幕外的总大小,但没有坐标.此外,尝试将视图拖出Recyclerview总是导致切割视图通过其边界Recyclerview.
有谁知道我怎么能达到这个效果?
android drag-and-drop gridlayoutmanager android-recyclerview
我一直在关注这个链接的指南"使用RecyclerView拖动和滑动 - 由IPaulPro",我在某些情况下遇到的问题很少.
所以,我基本上完成了他解释的所有内容+我在项目中添加了一个TextView,表示RecyclerView中项目的位置,如下所示:

一切都很好看,除非我开始"快速射击"物品,然后我有两个问题:
我所做的也是notifyAdapterSetChanged()在
onItemClear()方法中使用- 它以某种方式修复它,但导致了
IllegalStateException捕获 - 会导致
IndexOutOfBounds异常.
我将在下面粘贴我的整个适配器代码,其中必须存在缺陷.
LayoutInflater inflater;
Context context;
AndroidEntityQuestionResult androidEntityQuestionResult;
ArrayList<AndroidEntityAnswer> list = new ArrayList<>();
ORDLayoutManagerQuestion ord;
ScreenDimensionsConstants sdc;
public OrderingRecycleAdapter(Context context, AndroidEntityQuestionResult androidEntityQuestionResult, ORDLayoutManagerQuestion ord) {
inflater = LayoutInflater.from(context);
this.context = context;
this.list = androidEntityQuestionResult.getAndroidEntityQuestion().getEntityAnswer();
this.androidEntityQuestionResult = androidEntityQuestionResult;
this.ord = ord;
sdc = new ScreenDimensionsConstants(context);
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.custom_row_ordering_rv, parent, false);
final …Run Code Online (Sandbox Code Playgroud) 我正在使用这个lvlDragDrop插件.它不适用于移动平台.在github上,他们已经添加了这个问题.但我还是没有运气.
HTML
<div ng-controller="ddController" style="margin-top:50px;">
<div class="row">
<div class="col-md-1 col-md-offset-1">
<p>Click and drag a color onto the grid to the right</p>
<div class="peg green" x-lvl-draggable="true" data-color="green">Green</div>
<div class="peg red" x-lvl-draggable="true" data-color="red">Red</div>
<div class="peg blue" x-lvl-draggable="true" data-color="blue">Blue</div>
<div class="peg black" x-lvl-draggable="true" data-color="black">Black</div>
<div class="peg grey" x-lvl-draggable="true" data-color="grey">Grey</div>
</div>
<div class="col-md-10">
<div ng-repeat="r in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]">
<span class="slot circle" ng-repeat="c in [1, 2, 3, 4, 5, 6, 7, 8, …Run Code Online (Sandbox Code Playgroud) javascript jquery drag-and-drop angularjs angularjs-directive
情况:我正在使用HTML5拖放将瓷砖放在我正在编写的游戏中.我想添加一个效果,其中两个瓷砖,我即将放置一个新的瓷砖之间稍微移动,以表明这是你正在下降的地方(类似于Mac OS底座).
我的方法:我有一个flexbox我正在丢弃这些瓷砖的东西.我写了一个函数,基本上返回一个正弦波周期,我用它来更新丢弃的瓷砖right:和top:CSS属性(瓷砖position: relative;),基于它们相对于鼠标的原始位置drag.
// Update occupant style for desired effect
occupants.forEach(function(occupant, index) {
$(occupant).css({'right' : -10 * nudgeSine(occupantsMouseOffset[index] * 10) + 'px',
'top' : -10 * Math.abs(nudgeSine(occupantsMouseOffset[index] * 10)) + 'px',
'opacity' : 1 - Math.abs(nudgeSine(occupantsMouseOffset[index])) });
});
// Function to return 1 period of a sine wave
function nudgeSine(x) {
if (x < -3.14159 || x > 3.14159) {
return 0;
} else {
return Math.sin(x); …Run Code Online (Sandbox Code Playgroud) javascript user-interface drag-and-drop google-chrome html5-draggable
drag-and-drop ×10
android ×4
jquery ×3
javascript ×2
angularjs ×1
c# ×1
cursor ×1
file-upload ×1
html5 ×1
image ×1
jquery-ui ×1
mime-types ×1
winforms ×1