You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅对点击元素的.draggable父元素切换拖拽禁用/启用功能

实现可拖拽元素的禁用/启用切换(仅作用于点击元素的.draggable父元素)

我需要实现可拖拽元素的禁用/启用切换功能,且仅将该功能应用于点击元素的带有.draggable类的父元素。目前切换类的功能正常,但不知道如何将this传递给对应的禁用/启用函数。

原始代码:

jQuery("a.check").click(function() {
        jQuery(this).toggleClass("active");
        jQuery(this).hasClass("active") ? disableDrag() : enableDrag();
});

function disableDrag(){
  jQuery(".draggable").draggable("disable");
}
function enableDrag(){
 jQuery(".draggable").draggable("enable");
}

可行解决方案

jQuery("a.check").click(function() {
        jQuery(this).toggleClass("active");
        jQuery(this).hasClass("active") ? disableDrag(this) : enableDrag(this);
});

function disableDrag(obj){
  jQuery(obj).closest('.draggable').draggable("disable")
}
function enableDrag(obj){
jQuery(obj).closest('.draggable').draggable("enable")
}

关键改动说明:

  • 点击事件调用disableDrag和enableDrag时,将当前点击元素的this作为参数传入
  • 在功能函数内,通过jQuery(obj).closest('.draggable')精准定位到点击元素的.draggable父元素,避免影响页面中所有.draggable元素

内容的提问来源于stack exchange,提问作者Jerry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:06:33