javascript - 如果元素具有特定类,则禁用 jQuery UI 可拖动

标签 javascript jquery html jquery-ui draggable

我有一个交互式购物篮,用户可以将项目拖放到购物篮中。但是,同一项目不能两次放入篮子(但它仍然可见,尽管已褪色),所以一旦它进入篮子,就必须禁用 draggable 属性。

我试过这样做:

$("#product_badges li:not(.on)").draggable({
    // Options here
});

但是,因为这只是启动了 draggable() 属性,即使我在 >已删除

因此,如果没有像这样的 draggable 属性的多个实例,我无法找到实现此目的的方法:

$("#product_badges li:not(.on)").each(function(){
    $(this).draggable({
        // Options here
    }
});

使用上述方法,我可以调用单个 product_badge 并像这样禁用拖动:

只有当元素被放入购物篮(掉落)后才会被调用

$('.item',$('#product_badges')).draggable('disable');

有没有更好的方法来实现这一点?您能否将 HTML 元素设置为仅在没有特定类时才可拖动?

更新

请参阅此处示例:http://jsfiddle.net/mB6GK/2/

最佳答案

使用取消属性。

$("#product_badges li").draggable({ cancel: ".no" })

fiddle :

http://jsfiddle.net/sGguz/

关于javascript - 如果元素具有特定类,则禁用 jQuery UI 可拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17534596/

相关文章:

javascript - 如何在ReactJS中获取嵌套的JSON数据

javascript - 有没有一种方法不仅可以分析调用的频率,还可以分析调用的触发方式?

javascript - 寻找下一个 div

html - 链接与响应式设计中的段落重叠

javascript - NodeJS - 需要帮助理解同步依赖的 MySQL 查询代码并将其转换为可用的代码

javascript - 将参数传递给 IIFE

jquery - 如何自动调整选项卡大小以适应固定宽度的容器?

jQuery .fadeIn() 不会覆盖 css

javascript - HTML 选择标签自动完成

javascript - 如何添加/更改属性的值