jQuery的containment選項可以幫助我們限制元素的可拖動范圍。在使用該選項時,我們需要為其指定一個容器元素,該元素將成為被拖動元素的邊界。
$( "#draggable" ).draggable({ containment: "parent" });
代碼中,我們將可拖動的元素設置了containment選項的值為"parent",表示該元素只能在其父元素內拖動。我們也可以將containment選項的值設為其他元素或元素選擇器。
如果我們希望元素只能在某個區域內拖動,可以指定一個帶有指定尺寸和位置的元素作為容器,如下:
$( "#draggable" ).draggable({ containment: [100, 100, 500, 500] });
代碼中,我們通過傳遞一個四元素數組作為containment選項的值,指定了一個尺寸為400x400,位于(100,100)位置的容器元素。
除此之外,我們還可以使用函數來動態計算containment選項的值,例如:
$( "#draggable" ).draggable({ containment: function() { var parentOffset = $(this).parent().offset(); var parentWidth = $(this).parent().width(); var parentHeight = $(this).parent().height(); return [parentOffset.left, parentOffset.top, parentOffset.left + parentWidth - $(this).outerWidth(), parentOffset.top + parentHeight - $(this).outerHeight()]; } });
代碼中,我們將containment選項的值設為一個返回四元素數組的函數,該函數動態計算可拖動元素在其父元素內的可拖動范圍。
綜上所述,containment選項可以幫助我們限制元素的可拖動范圍,提升用戶體驗,使拖放操作更加可控。