jquery - 可拖动 Jquery : how to prevent movement of the image

标签 jquery draggable

如何防止图像移动。如果图像的位置 = 350,如何防止移动。类似于遏制,恰恰相反。请帮忙。

   $('#image').draggable( 
                {  
                    drag: function(event, ui) 
                        {                      
                            if($(this).offset().left > 350) 
                                { 
                                     //there should be a code prohibiting the 
                                     //movement of the image if its position is = 350
                                } 
                        }
                });

最佳答案

这样的事情应该有效:

var leftLimit       = 350;
var bLimitReached   = false;

$('#image').draggable ( {
    drag: function (event, ui) {
        var jThis   = $(this);

        if ( ui.offset.left > leftLimit ) {
            bLimitReached = true;
            jThis.trigger('mouseup');
            jThis.addClass ('dragLimitreached ');
        }
        else
            jThis.removeClass ('dragLimitreached ');
    },
    stop: function (event, ui) {
        var jThis   = $(event.originalEvent.target);
        if (bLimitReached) {
            jThis.offset ( {left: leftLimit} );
            bLimitReached = false;
        }
        setTimeout (function() {
            jThis.removeClass ('dragLimitreached');
        }, 2000 );
    }
} );

请注意,我添加了一些视觉反馈。

See it in action at jsFiddle.

请注意,用户必须释放鼠标按钮才能开始另一次拖动(应该有点直观)。

关于jquery - 可拖动 Jquery : how to prevent movement of the image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6796978/

相关文章:

javascript - 如何在 jquery 自动完成的 onkeyup 事件中添加自定义新选项

JavaScript 类型错误 : Cannot read property 'id' of undefined

css - Chrome 拖放触发 :hover pseudo-class on surrounding elements

javascript - 忽略鼠标悬停目标?

javascript - 仅在第一次执行函数 onload

javascript - 获取表行数据 td 并选择

jquery - Rails 远程表单验证错误未显示

javascript - 使用子元素拖动父元素

jquery - 从当前可拖动 <li> 获取 ID

Jquery:在容器之间移动可拖动元素