【问题标题】:Disable drag when drag stops拖动停止时禁用拖动
【发布时间】:2013-08-13 11:30:16
【问题描述】:

我有 3 个块(div)。当点击这些块中的一个时,div 被选中并且它对一个类可见。

我需要禁用元素的draggable(),因为即使在拖动功能中也会停止。 JS:

   $('#llens').on("click", "#mou", function (event) {
    $(this).parents(':eq(2)').draggable({
        disabled: false,
        containment: "parent",
        scroll: false,
        cursor: "move",
        delay: 200,
        start: function (e, ui) {
            remember = $(this).html();
            $(this).addClass('fantasma');
        },
        stop: function (e, ui) {
            $(this).removeClass('fantasma');

           // **WHEN IS STOPPED IT MAY DISABLE THE DRAG**
        }


    <div id="llens">
      <div class="bloc professor" id="bloc_profes" style="top:40px; left:200px; width:800px; height:200px " data-actiu="true"></div> 
      <div class="bloc text" id="bloc_text" style="top:100px; left:200px; width:800px; height:100px " data-actiu="false"></div> 
      <div class="bloc alumne" id="bloc_alumnes" style="top:200px; left:200px; width:800px; height:200px " data-actiu="false"></div>
    </div>

演示http://fiddle.jshell.net/blackersoul/47YvE/5/

【问题讨论】:

标签: javascript jquery html draggable jquery-ui-draggable


【解决方案1】:

使用内置的destroy 方法,像这样:

stop: function (e, ui) {
          $(this).removeClass('fantasma').draggable('destroy');
      }

文档页面在这里:http://api.jqueryui.com/draggable/#method-destroy

完全删除可拖动功能。这将返回 元素恢复到初始化前的状态。

它正在运行:http://fiddle.jshell.net/47YvE/8/

【讨论】:

【解决方案2】:

尝试更改可拖动元素的类,例如:

removeClass("draggable").addClass("static");

您还可以添加如下检查:

if(hasClass("draggable"){
removeClass("draggable").addClass("static")}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-03
    • 1970-01-01
    • 2011-09-10
    • 2019-07-27
    • 1970-01-01
    • 2010-12-28
    相关资源
    最近更新 更多