gpt4 book ai didi

javascript - 使用 YUI 拖放时如何检测点击?

转载 作者:行者123 更新时间:2023-11-30 18:59:27 25 4
gpt4 key购买 nike

我正在使用 YUI 为 div 添加拖放支持。它还响应点击。不幸的是,即使在拖放操作之后,点击行为也会生效。这是一个代码片段:

// Create a DOM object for the group tag.
div = document.createElement('div');
div.className = 'group';
div.onclick = function() { beginEditName(); }
container.appendChild(div);

// Enable drag/drop for the group tag.
dragdrop = new YAHOO.util.DD(div);
dragdrop.scroll = false;
dragdrop.on('dragEvent', function(ev) { onDrag(ev); });
dragdrop.on('endDragEvent', function(ev) { onEndDrag(ev); });
dragdrop.setXConstraint(0,0);

点击应该编辑文本,而拖放应该移动标签。但是,将触发 onclick 事件,以便在移动标签后开始文本编辑。

我可以编写代码来解决这个问题,但是是否有更直接的 YUI 方法来区分简单的点击和拖放?

最佳答案

迈克尔,

http://ericmiraglia.com/yui/demos/ddclick.php

查看源代码,如果您对此有任何进一步的疑问,请告诉我(yahoo dot com 的 ericmiraglia)。

修改。我会把代码复制到这里,这样如果这个人从他的服务器上拿走代码,人们就可以检查源代码。

var beingDragged = false;
var dd = new YAHOO.util.DD("drag");

dd.subscribe("mouseDownEvent", function(e){
beingDragged = false;
});
dd.subscribe("startDragEvent", function(e) {
beingDragged = true;
});
dd.subscribe("mouseUpEvent", function(e) {
if(beingDragged) {
alert("dragged")
} else {
alert("clicked");
}
})

关于javascript - 使用 YUI 拖放时如何检测点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/304205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com