2010-09-15 65 views
1

當我看到jQuery「Snap to element」時,我感到很困惑。有誰知道我怎麼才能實現它沒有jQuery,只是原始的JavaScript。jQuery捕捉元素如何工作?

感謝

+0

您可以做任何事情** jQuery(或任何插件)只能使用vanilla JavaScript。 – 2010-09-15 15:36:45

+0

我知道它可以完成使用只是JavaScript,但最新的功能背後的核心邏輯。 – 2010-09-15 15:39:39

回答

1

假設你已經建立了一個拖放不執行jQuery UI的把它捕捉到,你需要做如下的另一個元素:

  • 確定位置和尺寸拖動要將元素捕捉到的對象和其他對象
  • 拖動對象時,需要確定被拖動的對象是否在它可捕捉的對象的任意閾值距離內點你碰到左/頂部拖動的元素以匹配「可捕捉」元素的左/上/下/右位置
+0

但在我的情況下,可拖動元素可以捕捉到尺寸和位置不爲我所知的任何元素。 – 2010-09-15 15:59:18

+0

我可能寫了一個循環來檢查所有節點,並檢查我的元素是否碰到它們中的任何一個,但這會非常低效。或者是jQuery做同樣的事情? – 2010-09-15 16:09:36

+0

只要拖動事件發生在可拖動元素上,jQuery就會檢查它的位置。 – JaredM 2010-09-16 16:48:04