如何使mousedown事件防止单击效果,并且只影响按住的单击
How to make mousedown event to prevent single click effect and only affect click being held
由于jQuery捕捉,我不得不使用mousedown而不是使用可拖动的启动、拖动事件。。。jQuery UI支持给了我这个可行的解决方案,但如果你点击红色块,只需点击。。。你可以看到黑色向导出现了,尽管我不喜欢。
这是jQueryUI团队为我的问题修复的小提琴。
有没有什么方法可以让它工作,这样单次点击就不会只在按住点击时显示黑线?
这是一个简单的代码:
$(".block").draggable({
snap: ".guide",
snapTolerance: 10,
stop: function( event, ui) {
$(".h-line").css("display", "none");
}
}).on( "mousedown", function(event) {
$(".h-line").css("display", "block");
});
也许通过设置setTimeout?但这是正确的解决方案吗?
在您的情况下,当您简单地单击'.block'时,会在_mouseown上显示'.h-line',但不会引发dragstart,因此和dragstop不会引发
为了快速修复,您可以使用mousemove和mouseup事件,如
$(".block").draggable({
snap: ".guide",
snapTolerance: 10
}).on( "mousedown", function() {
this.t = true;
}).on( "mouseup",function(){
this.t = false;
$(".h-line").css("display", "none");
}).on("mousemove", function(){
if(this.t && $(".h-line:visible").length === 0)
$(".h-line").css("display", "block");
});
小提琴上的样本
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 单击F5时如何停止页面加载
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 单击jquery清除输入值
- 单击按钮以等待单击按钮
- 在单击href链接的同时下载文件
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 使图像在单击时展开到不大于浏览器
- 对于具有相同类的多个元素,只影响jquery中单击的元素
- JQuery 鼠标悬停/淡出与淡入淡出影响单击与淡出
- 为什么单击一个按钮会影响 jQuery Ajax 中的所有按钮
- 通过单击按钮影响下拉菜单
- 如何使mousedown事件防止单击效果,并且只影响按住的单击
- 如何只影响我所单击的元素的子元素?
- 子单击影响父事件的事件
- 与.click(function(){..})绑定的对象;对单击没有影响
- 在影响音频的同时单击按钮时更改多个图像
- Accordian菜单(单击时)影响图像在下一个表格单元格中的位置