gpt4 book ai didi

javascript - jQuery 可拖动项目在放入 "trash"时会更改页面的 href

转载 作者:行者123 更新时间:2023-11-28 09:33:05 26 4
gpt4 key购买 nike

我有一个非常简单的 jQuery 可拖动/可排序/可放置组合,我正在对几个 div 进行排序,每个 div 都包含一个包含在带有 href 的 anchor 元素中的图像。

问题是,当我将可排序项目拖动到“垃圾”可放置区域(以销毁它)时,页面有时会更改其位置并从可拖动内容中转到 href URL!

我已经调试了页面,这不是我的任何代码造成的。 drop 事件正常发生并返回(我尝试返回 true 和 false)就好了。这是 jQuery UI 代码中的某些内容导致 href 被触发。

并不是每次都会发生。我没有“单击”该元素 - 只是拖动。

有人可以提出建议吗?

我的可删除代码示例:

var trash = this._area_trash.droppable({
drop: this.eventtrashDrop,
hoverClass: 'highlight'
});

// ...

this.eventtrashDrop = function(event,ui) {
var o = ui.draggable;
if( typeof(o)=='object' && o!=null ) {
if( o.parents(obj._selector_stack_area).length>0 ) {
var id = parseInt(o.attr('lang'));
o.remove();
obj.eventStateRemove(id);
}
}
// Page location hasn't been changed yet!
return true;
}

编辑:原来的问题仍然存在,我怀疑这是 jQuery UI 中的某种错误。然而,解决方法是在销毁可排序项目之前用 div 替换 anchor 元素,这样它就无法更改为 anchor 的 href:

        var anchor = jQuery(o).find("a");
var img = jQuery(anchor).html();
jQuery(anchor).replaceWith("<div/>").html(img);

最佳答案

对我来说,就像点击时触发了 anchor 。
您需要监听事件并阻止默认操作。
像这样的事情:

$('a').click(function(event){
event.preventDefault();
});

关于javascript - jQuery 可拖动项目在放入 "trash"时会更改页面的 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13492890/

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