我在整个网站上寻找解决方案,但是没有找到任何东西。我面临一个问题,我需要重做拖拽的风格。我正在为可拖动/可排序部分使用jquery ui。但是,我需要创建一个新的行为:即,我单击处理程序,释放左按钮,使用mousemove,元素将粘在光标上,再次单击,元素将掉落。总的来说,我需要在拖动过程中禁用mousedown部分。
编辑:
好的,这里是一个简单的可排序示例。我需要的是,当我点击手柄时。文章标题,它会粘在鼠标上而不按住鼠标向下。因此,换句话说,我需要一种行为,我可以让句柄类在单击它时处于活动状态,但在第一次mouseup时仍然处于活动状态,然后使用mousemove拖动它,而不实际按住mousedown,在其他单击时,它将下降。
$(".articles:not(.nosort)").sortable({
handle : '.article-header',
placeholder: "ui-state-highlight",
update : function (ev,that) {
var
order = $(ev.target).sortable('serialize');
//Saving the order to db
}
});
<ul class="articles" data-handler="articles">
<li id="article-list_1">
<div class="article-header">
<h4>Lorem Ipsum 1</h4>
</div>
</li>
<li id="article-list_2">
<div class="article-header">
<h4>Lorem Ipsum 2</h4>
</div>
</li>
<li id="article-list_3">
<div class="article-header">
<h4>Lorem Ipsum 3</h4>
</div>
</li>
<li id="article-list_4">
<div class="article-header">
<h4>Lorem Ipsum 4</h4>
</div>
</li>
<li id="article-list_5">
<div class="article-header">
<h4>Lorem Ipsum 5</h4>
</div>
</li>
</ul>
http://jsfiddle.net/s2x2n/
我研究了一下$.ui.mouse
小部件是如何工作的,我发现这个解决方案基本上很简单。
我扩展了mouseMove和mouseUp的原型。首先,我不需要检查鼠标向下移动时是否有任何距离。
其次,我已经评论了这一部分,其中它们在调用mouseup事件后解除绑定mousemove。因此,您只需要取消绑定mousemove事件,例如在可排序小部件的更新事件中。
我不确定,这是否是正确的方法,但是,如果有人有更好的建议,我将很高兴批准他们的答案。
$.ui.mouse.prototype._mouseMove = function(event) {
// IE mouseup check - mouseup happened when mouse was out of window
if ($.ui.ie && !(document.documentMode >= 9) && !event.button) {
return this._mouseUp(event);
}
if (this._mouseStarted) {
this._mouseDrag(event);
return event.preventDefault();
}
// if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
this._mouseStarted =
(this._mouseStart(this._mouseDownEvent, event) !== false);
(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
// }
return !this._mouseStarted;
}
$.ui.mouse.prototype._mouseUp = function(event) {
$(document)
// .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
if (this._mouseStarted) {
this._mouseStarted = false;
if (event.target === this._mouseDownEvent.target) {
$.data(event.target, this.widgetName + '.preventClickEvent', true);
}
this._mouseStop(event);
}
return false;
}
可排序更新功能
update : function (ev,that) {
$(document).unbind('mousemove.'+$.ui.sortable.prototype.widgetName, $.ui.mouse.prototype._mouseMoveDelegate);
}
所以我有下面的jQuery: 当我将项目拖到这个排序表中的“坏”地方(在那里它们不能被排序,例如在可排序区域之外)时,克隆会恢复到它在可排序表中的最后一个好位置。当这个动画完成时,停止函数会关闭“停止”。 是否有一个我可以使用的事件,它会在鼠标按钮释放后立即触发?(或在此还原动画开始之前?)
本文向大家介绍ios可拖动按钮实例,包括了ios可拖动按钮实例的使用技巧和注意事项,需要的朋友参考一下 最近产品抽风,想做许鲜网的那个小客服按钮,虽然没啥难度,但是我懒啊,哈哈,上度娘搞了一个,但是点击事件和拖动重复了,擦。干脆写一个吧,仅供参考。 话不多说,上代码: 以上这篇ios可拖动按钮实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
我试图将jQuery可拖动、可拖放和可排序相结合;然而,我一直有问题。有人能帮帮我吗? A、 B、C、D、E瓷砖可在上部可放下和可分拣之间移动 此外,我正试图在必要时在任何位置停用和重新激活所有这些。 这是我的,但它很有缺陷,也不漂亮: JS 超文本标记语言
实际上,我想对对象数组列表进行排序。我正在为此目的使用可比接口。它是完全有效的,但问题是,当我排序的时候,是给这两个问题。 > 所有名字中有第一个字母大写的都在上面,所有名字中有第一个字母小写的都在下面。 所有排序的大写字母单词都在一起,然后所有的小写字母单词都在一起。
问题内容: 我正在开发JavaFX项目,并且需要类似于表征 “按下并按住”事件的东西 。但是应该将其映射为一个,因为我在Linux上的触摸事件遇到了麻烦。例如,在Ubuntu中,它不会响应触摸事件。 请让我知道,如果你对如何触发一个任何想法 每当 “按住” 在Linux上出现? 问题答案: 只需将a 用作“保持”的计时器即可。如果按下鼠标,则将其启动;如果释放或拖动,则将其停止。
问题内容: 我正在尝试使用排序对象列表 但是,如果任何列表项包含而不是, 然后我得到一个 在Py2中,这不是问题。如何在Py3中处理此问题? 问题答案: 排序比较运算符约在Python 3种严格,如描述在这里: 当操作数没有有意义的自然顺序时,顺序比较运算符(<,<=,> =,>)会引发TypeError异常。 Python 2在任何字符串(甚至是空字符串)之前进行排序: 在Python 3中,任