5 <title>jQuery UI droppable documentation</title>
9 font-family: "Trebuchet MS", "Arial", "Helvetica", "Verdana", "sans-serif"
22 "Create targets for draggable elements.",
28 }</script><article id="droppable1" class="entry widget"><h2 class="section-title">
29 <span>Droppable Widget</span><span class="version-details">version added: 1.0</span>
31 <div class="entry-wrapper">
32 <p class="desc"><strong>Description: </strong>Create targets for draggable elements.</p>
33 <section id="quick-nav"><header><h2>QuickNav<a href="#entry-examples">Examples</a>
34 </h2></header><div class="quick-nav-section">
36 <div><a href="#option-accept">accept</a></div>
37 <div><a href="#option-activeClass">activeClass</a></div>
38 <div><a href="#option-addClasses">addClasses</a></div>
39 <div><a href="#option-disabled">disabled</a></div>
40 <div><a href="#option-greedy">greedy</a></div>
41 <div><a href="#option-hoverClass">hoverClass</a></div>
42 <div><a href="#option-scope">scope</a></div>
43 <div><a href="#option-tolerance">tolerance</a></div>
45 <div class="quick-nav-section">
47 <div><a href="#method-destroy">destroy</a></div>
48 <div><a href="#method-disable">disable</a></div>
49 <div><a href="#method-enable">enable</a></div>
50 <div><a href="#method-option">option</a></div>
51 <div><a href="#method-widget">widget</a></div>
53 <div class="quick-nav-section">
55 <div><a href="#event-create">create</a></div>
56 <div><a href="#event-activate">activate</a></div>
57 <div><a href="#event-deactivate">deactivate</a></div>
58 <div><a href="#event-over">over</a></div>
59 <div><a href="#event-out">out</a></div>
60 <div><a href="#event-drop">drop</a></div>
61 </div></section><div class="longdesc" id="entry-longdesc">
62 <p>The jQuery UI Droppable plugin makes selected elements droppable (meaning they accept being dropped on by <a href="/draggable/">draggables</a>). You can specify which draggables each will accept.</p>
64 <section id="options"><header><h2 class="underline">Options</h2></header><div id="option-accept" class="api-item first-item">
65 <h3>accept<span class="option-type"><strong>Type: </strong><a href="http://api.jquery.com/Types#Selector">Selector</a> or <a href="http://api.jquery.com/Types/#Function">Function</a>()</span>
68 <strong>Default: </strong><code>"*"</code>
70 <div>Controls which draggable elements are accepted by the droppable.</div>
71 <strong>Multiple types supported:</strong><ul>
73 <strong>Selector</strong>: A selector indicating which draggable elements are accepted.</li>
75 <strong>Function</strong>: A function that will be called for each draggable on the page (passed as the first argument to the function). The function must return <code>true</code> if the draggable should be accepted.</li>
77 <strong>Code examples:</strong><p>Initialize the droppable with the accept option specified:</p>
78 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({ accept: </code><code class="string">".special"</code> <code class="plain">});</code></div></div></td></tr></tbody></table></div>
79 <p>Get or set the accept option, after initialization:</p>
80 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="comments">// getter</code></div><div class="line number2 index1 alt1"><code class="keyword">var</code> <code class="plain">accept = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"accept"</code> <code class="plain">);</code></div><div class="line number3 index2 alt2"> </div><div class="line number4 index3 alt1"><code class="comments">// setter</code></div><div class="line number5 index4 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"accept"</code><code class="plain">, </code><code class="string">".special"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
82 <div id="option-activeClass" class="api-item">
83 <h3>activeClass<span class="option-type"><strong>Type: </strong><a href="http://api.jquery.com/Types#String">String</a></span>
86 <strong>Default: </strong><code>false</code>
88 <div>If specified, the class will be added to the droppable while an acceptable draggable is being dragged.</div>
89 <strong>Code examples:</strong><p>Initialize the droppable with the activeClass option specified:</p>
90 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({ activeClass: </code><code class="string">"ui-state-highlight"</code> <code class="plain">});</code></div></div></td></tr></tbody></table></div>
91 <p>Get or set the activeClass option, after initialization:</p>
92 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="comments">// getter</code></div><div class="line number2 index1 alt1"><code class="keyword">var</code> <code class="plain">activeClass = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"activeClass"</code> <code class="plain">);</code></div><div class="line number3 index2 alt2"> </div><div class="line number4 index3 alt1"><code class="comments">// setter</code></div><div class="line number5 index4 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"activeClass"</code><code class="plain">, </code><code class="string">"ui-state-highlight"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
94 <div id="option-addClasses" class="api-item">
95 <h3>addClasses<span class="option-type"><strong>Type: </strong><a href="http://api.jquery.com/Types#Boolean">Boolean</a></span>
98 <strong>Default: </strong><code>true</code>
100 <div>If set to <code>false</code>, will prevent the <code>ui-droppable</code> class from being added. This may be desired as a performance optimization when calling <code>.droppable()</code> init on hundreds of elements.</div>
101 <strong>Code examples:</strong><p>Initialize the droppable with the addClasses option specified:</p>
102 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({ addClasses: </code><code class="keyword">false</code> <code class="plain">});</code></div></div></td></tr></tbody></table></div>
103 <p>Get or set the addClasses option, after initialization:</p>
104 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="comments">// getter</code></div><div class="line number2 index1 alt1"><code class="keyword">var</code> <code class="plain">addClasses = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"addClasses"</code> <code class="plain">);</code></div><div class="line number3 index2 alt2"> </div><div class="line number4 index3 alt1"><code class="comments">// setter</code></div><div class="line number5 index4 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"addClasses"</code><code class="plain">, </code><code class="keyword">false</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
106 <div id="option-disabled" class="api-item">
107 <h3>disabled<span class="option-type"><strong>Type: </strong><a href="http://api.jquery.com/Types#Boolean">Boolean</a></span>
109 <div class="default">
110 <strong>Default: </strong><code>false</code>
112 <div>Disables the droppable if set to <code>true</code>.</div>
113 <strong>Code examples:</strong><p>Initialize the droppable with the disabled option specified:</p>
114 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({ disabled: </code><code class="keyword">true</code> <code class="plain">});</code></div></div></td></tr></tbody></table></div>
115 <p>Get or set the disabled option, after initialization:</p>
116 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="comments">// getter</code></div><div class="line number2 index1 alt1"><code class="keyword">var</code> <code class="plain">disabled = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"disabled"</code> <code class="plain">);</code></div><div class="line number3 index2 alt2"> </div><div class="line number4 index3 alt1"><code class="comments">// setter</code></div><div class="line number5 index4 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"disabled"</code><code class="plain">, </code><code class="keyword">true</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
118 <div id="option-greedy" class="api-item">
119 <h3>greedy<span class="option-type"><strong>Type: </strong><a href="http://api.jquery.com/Types#Boolean">Boolean</a></span>
121 <div class="default">
122 <strong>Default: </strong><code>false</code>
124 <div>By default, when an element is dropped on nested droppables, each droppable will receive the element. However, by setting this option to <code>true</code>, any parent droppables will not receive the element.</div>
125 <strong>Code examples:</strong><p>Initialize the droppable with the greedy option specified:</p>
126 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({ greedy: </code><code class="keyword">true</code> <code class="plain">});</code></div></div></td></tr></tbody></table></div>
127 <p>Get or set the greedy option, after initialization:</p>
128 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="comments">// getter</code></div><div class="line number2 index1 alt1"><code class="keyword">var</code> <code class="plain">greedy = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"greedy"</code> <code class="plain">);</code></div><div class="line number3 index2 alt2"> </div><div class="line number4 index3 alt1"><code class="comments">// setter</code></div><div class="line number5 index4 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"greedy"</code><code class="plain">, </code><code class="keyword">true</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
130 <div id="option-hoverClass" class="api-item">
131 <h3>hoverClass<span class="option-type"><strong>Type: </strong><a href="http://api.jquery.com/Types#String">String</a></span>
133 <div class="default">
134 <strong>Default: </strong><code>false</code>
136 <div>If specified, the class will be added to the droppable while an acceptable draggable is being hovered over the droppable.</div>
137 <strong>Code examples:</strong><p>Initialize the droppable with the hoverClass option specified:</p>
138 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({ hoverClass: </code><code class="string">"drop-hover"</code> <code class="plain">});</code></div></div></td></tr></tbody></table></div>
139 <p>Get or set the hoverClass option, after initialization:</p>
140 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="comments">// getter</code></div><div class="line number2 index1 alt1"><code class="keyword">var</code> <code class="plain">hoverClass = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"hoverClass"</code> <code class="plain">);</code></div><div class="line number3 index2 alt2"> </div><div class="line number4 index3 alt1"><code class="comments">// setter</code></div><div class="line number5 index4 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"hoverClass"</code><code class="plain">, </code><code class="string">"drop-hover"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
142 <div id="option-scope" class="api-item">
143 <h3>scope<span class="option-type"><strong>Type: </strong><a href="http://api.jquery.com/Types#String">String</a></span>
145 <div class="default">
146 <strong>Default: </strong><code>"default"</code>
148 <div>Used to group sets of draggable and droppable items, in addition to the <a href="#option-accept"><code>accept</code></a> option. A draggable with the same scope value as a droppable will be accepted.</div>
149 <strong>Code examples:</strong><p>Initialize the droppable with the scope option specified:</p>
150 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({ scope: </code><code class="string">"tasks"</code> <code class="plain">});</code></div></div></td></tr></tbody></table></div>
151 <p>Get or set the scope option, after initialization:</p>
152 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="comments">// getter</code></div><div class="line number2 index1 alt1"><code class="keyword">var</code> <code class="plain">scope = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"scope"</code> <code class="plain">);</code></div><div class="line number3 index2 alt2"> </div><div class="line number4 index3 alt1"><code class="comments">// setter</code></div><div class="line number5 index4 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"scope"</code><code class="plain">, </code><code class="string">"tasks"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
154 <div id="option-tolerance" class="api-item">
155 <h3>tolerance<span class="option-type"><strong>Type: </strong><a href="http://api.jquery.com/Types#String">String</a></span>
157 <div class="default">
158 <strong>Default: </strong><code>"intersect"</code>
161 Specifies which mode to use for testing whether a draggable is hovering over a droppable. Possible values:
164 <code>"fit"</code>: Draggable overlaps the droppable entirely.</li>
166 <code>"intersect"</code>: Draggable overlaps the droppable at least 50% in both directions.</li>
168 <code>"pointer"</code>: Mouse pointer overlaps the droppable.</li>
170 <code>"touch"</code>: Draggable overlaps the droppable any amount.</li>
173 <strong>Code examples:</strong><p>Initialize the droppable with the tolerance option specified:</p>
174 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({ tolerance: </code><code class="string">"fit"</code> <code class="plain">});</code></div></div></td></tr></tbody></table></div>
175 <p>Get or set the tolerance option, after initialization:</p>
176 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="comments">// getter</code></div><div class="line number2 index1 alt1"><code class="keyword">var</code> <code class="plain">tolerance = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"tolerance"</code> <code class="plain">);</code></div><div class="line number3 index2 alt2"> </div><div class="line number4 index3 alt1"><code class="comments">// setter</code></div><div class="line number5 index4 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"tolerance"</code><code class="plain">, </code><code class="string">"fit"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
177 </div></section><section id="methods"><header><h2 class="underline">Methods</h2></header><div id="method-destroy"><div class="api-item first-item">
180 Removes the droppable functionality completely. This will return the element back to its pre-init state.
182 <ul><li><div class="null-signature">This method does not accept any arguments.</div></li></ul>
184 <strong>Code examples:</strong><p>Invoke the destroy method:</p>
185 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"destroy"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
188 <div id="method-disable"><div class="api-item">
191 Disables the droppable.
193 <ul><li><div class="null-signature">This method does not accept any arguments.</div></li></ul>
195 <strong>Code examples:</strong><p>Invoke the disable method:</p>
196 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"disable"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
199 <div id="method-enable"><div class="api-item">
202 Enables the droppable.
204 <ul><li><div class="null-signature">This method does not accept any arguments.</div></li></ul>
206 <strong>Code examples:</strong><p>Invoke the enable method:</p>
207 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"enable"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
210 <div id="method-option">
211 <div class="api-item">
212 <h3>option( optionName )<span class="returns">Returns: <a href="http://api.jquery.com/Types#Object">Object</a></span>
214 <div>Gets the value currently associated with the specified <code>optionName</code>.</div>
216 <div><strong>optionName</strong></div>
217 <div>Type: <a href="http://api.jquery.com/Types#String">String</a>
219 <div>The name of the option to get.</div>
222 <strong>Code examples:</strong><p>Invoke the method:</p>
223 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="keyword">var</code> <code class="plain">isDisabled = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"disabled"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
226 <div class="api-item">
227 <h3>option()<span class="returns">Returns: <a href="http://api.jquery.com/Types#PlainObject">PlainObject</a></span>
229 <div>Gets an object containing key/value pairs representing the current droppable options hash.</div>
230 <ul><li><div class="null-signature">This method does not accept any arguments.</div></li></ul>
232 <strong>Code examples:</strong><p>Invoke the method:</p>
233 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="keyword">var</code> <code class="plain">options = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
236 <div class="api-item">
237 <h3>option( optionName, value )</h3>
238 <div>Sets the value of the droppable option associated with the specified <code>optionName</code>.</div>
241 <div><strong>optionName</strong></div>
242 <div>Type: <a href="http://api.jquery.com/Types#String">String</a>
244 <div>The name of the option to set.</div>
247 <div><strong>value</strong></div>
248 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
250 <div>A value to set for the option.</div>
254 <strong>Code examples:</strong><p>Invoke the method:</p>
255 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, </code><code class="string">"disabled"</code><code class="plain">, </code><code class="keyword">true</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
258 <div class="api-item">
259 <h3>option( options )</h3>
260 <div>Sets one or more options for the droppable.</div>
262 <div><strong>options</strong></div>
263 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
265 <div>A map of option-value pairs to set.</div>
268 <strong>Code examples:</strong><p>Invoke the method:</p>
269 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"option"</code><code class="plain">, { disabled: </code><code class="keyword">true</code> <code class="plain">} );</code></div></div></td></tr></tbody></table></div>
273 <div id="method-widget"><div class="api-item">
274 <h3>widget()<span class="returns">Returns: <a href="http://api.jquery.com/Types#jQuery">jQuery</a></span>
277 Returns a <code>jQuery</code> object containing the droppable element.
279 <ul><li><div class="null-signature">This method does not accept any arguments.</div></li></ul>
281 <strong>Code examples:</strong><p>Invoke the widget method:</p>
282 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="keyword">var</code> <code class="plain">widget = $( </code><code class="string">".selector"</code> <code class="plain">).droppable( </code><code class="string">"widget"</code> <code class="plain">);</code></div></div></td></tr></tbody></table></div>
284 </div></div></section><section id="events"><header><h2 class="underline">Events</h2></header><div id="event-activate" class="api-item first-item">
285 <h3>activate( event, ui )<span class="returns">Type: <code>dropactivate</code></span>
287 <div>Triggered when an accepted draggable starts dragging. This can be useful if you want to make the droppable "light up" when it can be dropped on.</div>
290 <div><strong>event</strong></div>
291 <div>Type: <a href="http://api.jquery.com/Types#Event">Event</a>
296 <div><strong>ui</strong></div>
297 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
302 <div><strong>draggable</strong></div>
303 <div>Type: <a href="http://api.jquery.com/Types#jQuery">jQuery</a>
305 <div>A jQuery object representing the draggable element.</div>
308 <div><strong>helper</strong></div>
309 <div>Type: <a href="http://api.jquery.com/Types#jQuery">jQuery</a>
311 <div>A jQuery object representing the helper that is being dragged.</div>
314 <div><strong>position</strong></div>
315 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
317 <div>Current CSS position of the draggable helper as <code>{ top, left }</code> object.</div>
320 <div><strong>offset</strong></div>
321 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
323 <div>Current offset position of the draggable helper as <code>{ top, left }</code> object.</div>
329 <strong>Code examples:</strong><p>Initialize the droppable with the activate callback specified:</p>
330 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({</code></div><div class="line number2 index1 alt1"><code class="undefined spaces"> </code><code class="plain">activate: </code><code class="keyword">function</code><code class="plain">( event, ui ) {}</code></div><div class="line number3 index2 alt2"><code class="plain">});</code></div></div></td></tr></tbody></table></div>
331 <p>Bind an event listener to the dropactivate event:</p>
332 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).on( </code><code class="string">"dropactivate"</code><code class="plain">, </code><code class="keyword">function</code><code class="plain">( event, ui ) {} );</code></div></div></td></tr></tbody></table></div>
335 <div id="event-create" class="api-item">
336 <h3>create( event, ui )<span class="returns">Type: <code>dropcreate</code></span>
339 Triggered when the droppable is created.
343 <div><strong>event</strong></div>
344 <div>Type: <a href="http://api.jquery.com/Types#Event">Event</a>
349 <div><strong>ui</strong></div>
350 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
356 <strong>Code examples:</strong><p>Initialize the droppable with the create callback specified:</p>
357 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({</code></div><div class="line number2 index1 alt1"><code class="undefined spaces"> </code><code class="plain">create: </code><code class="keyword">function</code><code class="plain">( event, ui ) {}</code></div><div class="line number3 index2 alt2"><code class="plain">});</code></div></div></td></tr></tbody></table></div>
358 <p>Bind an event listener to the dropcreate event:</p>
359 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).on( </code><code class="string">"dropcreate"</code><code class="plain">, </code><code class="keyword">function</code><code class="plain">( event, ui ) {} );</code></div></div></td></tr></tbody></table></div>
362 <div id="event-deactivate" class="api-item">
363 <h3>deactivate( event, ui )<span class="returns">Type: <code>dropdeactivate</code></span>
365 <div>Triggered when an accepted draggable stops dragging.</div>
368 <div><strong>event</strong></div>
369 <div>Type: <a href="http://api.jquery.com/Types#Event">Event</a>
374 <div><strong>ui</strong></div>
375 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
380 <div><strong>draggable</strong></div>
381 <div>Type: <a href="http://api.jquery.com/Types#jQuery">jQuery</a>
383 <div>A jQuery object representing the draggable element.</div>
386 <div><strong>helper</strong></div>
387 <div>Type: <a href="http://api.jquery.com/Types#jQuery">jQuery</a>
389 <div>A jQuery object representing the helper that is being dragged.</div>
392 <div><strong>position</strong></div>
393 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
395 <div>Current CSS position of the draggable helper as <code>{ top, left }</code> object.</div>
398 <div><strong>offset</strong></div>
399 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
401 <div>Current offset position of the draggable helper as <code>{ top, left }</code> object.</div>
407 <strong>Code examples:</strong><p>Initialize the droppable with the deactivate callback specified:</p>
408 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({</code></div><div class="line number2 index1 alt1"><code class="undefined spaces"> </code><code class="plain">deactivate: </code><code class="keyword">function</code><code class="plain">( event, ui ) {}</code></div><div class="line number3 index2 alt2"><code class="plain">});</code></div></div></td></tr></tbody></table></div>
409 <p>Bind an event listener to the dropdeactivate event:</p>
410 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).on( </code><code class="string">"dropdeactivate"</code><code class="plain">, </code><code class="keyword">function</code><code class="plain">( event, ui ) {} );</code></div></div></td></tr></tbody></table></div>
413 <div id="event-drop" class="api-item">
414 <h3>drop( event, ui )<span class="returns">Type: <code>drop</code></span>
416 <div>Triggered when an accepted draggable is dropped on the droppable (based on the<a href="#option-tolerance"><code>tolerance</code></a> option).</div>
419 <div><strong>event</strong></div>
420 <div>Type: <a href="http://api.jquery.com/Types#Event">Event</a>
425 <div><strong>ui</strong></div>
426 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
431 <div><strong>draggable</strong></div>
432 <div>Type: <a href="http://api.jquery.com/Types#jQuery">jQuery</a>
434 <div>A jQuery object representing the draggable element.</div>
437 <div><strong>helper</strong></div>
438 <div>Type: <a href="http://api.jquery.com/Types#jQuery">jQuery</a>
440 <div>A jQuery object representing the helper that is being dragged.</div>
443 <div><strong>position</strong></div>
444 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
446 <div>Current CSS position of the draggable helper as <code>{ top, left }</code> object.</div>
449 <div><strong>offset</strong></div>
450 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
452 <div>Current offset position of the draggable helper as <code>{ top, left }</code> object.</div>
458 <strong>Code examples:</strong><p>Initialize the droppable with the drop callback specified:</p>
459 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({</code></div><div class="line number2 index1 alt1"><code class="undefined spaces"> </code><code class="plain">drop: </code><code class="keyword">function</code><code class="plain">( event, ui ) {}</code></div><div class="line number3 index2 alt2"><code class="plain">});</code></div></div></td></tr></tbody></table></div>
460 <p>Bind an event listener to the drop event:</p>
461 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).on( </code><code class="string">"drop"</code><code class="plain">, </code><code class="keyword">function</code><code class="plain">( event, ui ) {} );</code></div></div></td></tr></tbody></table></div>
464 <div id="event-out" class="api-item">
465 <h3>out( event, ui )<span class="returns">Type: <code>dropout</code></span>
467 <div>Triggered when an accepted draggable is dragged out of the droppable (based on the<a href="#option-tolerance"><code>tolerance</code></a> option).</div>
470 <div><strong>event</strong></div>
471 <div>Type: <a href="http://api.jquery.com/Types#Event">Event</a>
476 <div><strong>ui</strong></div>
477 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
483 <strong>Code examples:</strong><p>Initialize the droppable with the out callback specified:</p>
484 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({</code></div><div class="line number2 index1 alt1"><code class="undefined spaces"> </code><code class="plain">out: </code><code class="keyword">function</code><code class="plain">( event, ui ) {}</code></div><div class="line number3 index2 alt2"><code class="plain">});</code></div></div></td></tr></tbody></table></div>
485 <p>Bind an event listener to the dropout event:</p>
486 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).on( </code><code class="string">"dropout"</code><code class="plain">, </code><code class="keyword">function</code><code class="plain">( event, ui ) {} );</code></div></div></td></tr></tbody></table></div>
489 <div id="event-over" class="api-item">
490 <h3>over( event, ui )<span class="returns">Type: <code>dropover</code></span>
492 <div>Triggered when an accepted draggable is dragged over the droppable (based on the<a href="#option-tolerance"><code>tolerance</code></a> option).</div>
495 <div><strong>event</strong></div>
496 <div>Type: <a href="http://api.jquery.com/Types#Event">Event</a>
501 <div><strong>ui</strong></div>
502 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
507 <div><strong>draggable</strong></div>
508 <div>Type: <a href="http://api.jquery.com/Types#jQuery">jQuery</a>
510 <div>A jQuery object representing the draggable element.</div>
513 <div><strong>helper</strong></div>
514 <div>Type: <a href="http://api.jquery.com/Types#jQuery">jQuery</a>
516 <div>A jQuery object representing the helper that is being dragged.</div>
519 <div><strong>position</strong></div>
520 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
522 <div>Current CSS position of the draggable helper as <code>{ top, left }</code> object.</div>
525 <div><strong>offset</strong></div>
526 <div>Type: <a href="http://api.jquery.com/Types#Object">Object</a>
528 <div>Current offset position of the draggable helper as <code>{ top, left }</code> object.</div>
534 <strong>Code examples:</strong><p>Initialize the droppable with the over callback specified:</p>
535 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).droppable({</code></div><div class="line number2 index1 alt1"><code class="undefined spaces"> </code><code class="plain">over: </code><code class="keyword">function</code><code class="plain">( event, ui ) {}</code></div><div class="line number3 index2 alt2"><code class="plain">});</code></div></div></td></tr></tbody></table></div>
536 <p>Bind an event listener to the dropover event:</p>
537 <div class="syntaxhighlighter nogutter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain">$( </code><code class="string">".selector"</code> <code class="plain">).on( </code><code class="string">"dropover"</code><code class="plain">, </code><code class="keyword">function</code><code class="plain">( event, ui ) {} );</code></div></div></td></tr></tbody></table></div>
539 </div></section><section class="entry-examples" id="entry-examples"><header><h2 class="underline">Example:</h2></header><div class="entry-example" id="example-0">
540 <h4><span class="desc">A pair of draggable and droppable elements.</span></h4>
541 <div class="syntaxhighlighter "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div><div class="line number6 index5 alt1">6</div><div class="line number7 index6 alt2">7</div><div class="line number8 index7 alt1">8</div><div class="line number9 index8 alt2">9</div><div class="line number10 index9 alt1">10</div><div class="line number11 index10 alt2">11</div><div class="line number12 index11 alt1">12</div><div class="line number13 index12 alt2">13</div><div class="line number14 index13 alt1">14</div><div class="line number15 index14 alt2">15</div><div class="line number16 index15 alt1">16</div><div class="line number17 index16 alt2">17</div><div class="line number18 index17 alt1">18</div><div class="line number19 index18 alt2">19</div><div class="line number20 index19 alt1">20</div><div class="line number21 index20 alt2">21</div><div class="line number22 index21 alt1">22</div><div class="line number23 index22 alt2">23</div><div class="line number24 index23 alt1">24</div><div class="line number25 index24 alt2">25</div><div class="line number26 index25 alt1">26</div><div class="line number27 index26 alt2">27</div><div class="line number28 index27 alt1">28</div><div class="line number29 index28 alt2">29</div><div class="line number30 index29 alt1">30</div><div class="line number31 index30 alt2">31</div><div class="line number32 index31 alt1">32</div><div class="line number33 index32 alt2">33</div><div class="line number34 index33 alt1">34</div><div class="line number35 index34 alt2">35</div><div class="line number36 index35 alt1">36</div><div class="line number37 index36 alt2">37</div><div class="line number38 index37 alt1">38</div><div class="line number39 index38 alt2">39</div><div class="line number40 index39 alt1">40</div><div class="line number41 index40 alt2">41</div><div class="line number42 index41 alt1">42</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="plain"><!doctype html></code></div><div class="line number2 index1 alt1"><code class="plain"><</code><code class="keyword">html</code> <code class="color1">lang</code><code class="plain">=</code><code class="string">"en"</code><code class="plain">></code></div><div class="line number3 index2 alt2"><code class="plain"><</code><code class="keyword">head</code><code class="plain">></code></div><div class="line number4 index3 alt1"><code class="undefined spaces"> </code><code class="plain"><</code><code class="keyword">meta</code> <code class="color1">charset</code><code class="plain">=</code><code class="string">"utf-8"</code><code class="plain">></code></div><div class="line number5 index4 alt2"><code class="undefined spaces"> </code><code class="plain"><</code><code class="keyword">title</code><code class="plain">>droppable demo</</code><code class="keyword">title</code><code class="plain">></code></div><div class="line number6 index5 alt1"><code class="undefined spaces"> </code><code class="plain"><</code><code class="keyword">link</code> <code class="color1">rel</code><code class="plain">=</code><code class="string">"stylesheet"</code> <code class="color1">href</code><code class="plain">=</code><code class="string">"<a href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css</a>"</code><code class="plain">></code></div><div class="line number7 index6 alt2"><code class="undefined spaces"> </code><code class="plain"><</code><code class="keyword">style</code><code class="plain">></code></div><div class="line number8 index7 alt1"><code class="undefined spaces"> </code><code class="plain">#draggable {</code></div><div class="line number9 index8 alt2"><code class="undefined spaces"> </code><code class="plain">width: 100px;</code></div><div class="line number10 index9 alt1"><code class="undefined spaces"> </code><code class="plain">height: 100px;</code></div><div class="line number11 index10 alt2"><code class="undefined spaces"> </code><code class="plain">background: #ccc;</code></div><div class="line number12 index11 alt1"><code class="undefined spaces"> </code><code class="plain">}</code></div><div class="line number13 index12 alt2"><code class="undefined spaces"> </code><code class="plain">#droppable {</code></div><div class="line number14 index13 alt1"><code class="undefined spaces"> </code><code class="plain">position: absolute;</code></div><div class="line number15 index14 alt2"><code class="undefined spaces"> </code><code class="plain">left: 250px;</code></div><div class="line number16 index15 alt1"><code class="undefined spaces"> </code><code class="plain">top: 0;</code></div><div class="line number17 index16 alt2"><code class="undefined spaces"> </code><code class="plain">width: 125px;</code></div><div class="line number18 index17 alt1"><code class="undefined spaces"> </code><code class="plain">height: 125px;</code></div><div class="line number19 index18 alt2"><code class="undefined spaces"> </code><code class="plain">background: #999;</code></div><div class="line number20 index19 alt1"><code class="undefined spaces"> </code><code class="plain">color: #fff;</code></div><div class="line number21 index20 alt2"><code class="undefined spaces"> </code><code class="plain">padding: 10px;</code></div><div class="line number22 index21 alt1"><code class="undefined spaces"> </code><code class="plain">}</code></div><div class="line number23 index22 alt2"><code class="undefined spaces"> </code><code class="plain"></</code><code class="keyword">style</code><code class="plain">></code></div><div class="line number24 index23 alt1"><code class="undefined spaces"> </code><code class="plain"><</code><code class="keyword">script</code> <code class="color1">src</code><code class="plain">=</code><code class="string">"<a href="http://code.jquery.com/jquery-1.8.3.js">http://code.jquery.com/jquery-1.8.3.js</a>"</code><code class="plain">></</code><code class="keyword">script</code><code class="plain">></code></div><div class="line number25 index24 alt2"><code class="undefined spaces"> </code><code class="plain"><</code><code class="keyword">script</code> <code class="color1">src</code><code class="plain">=</code><code class="string">"<a href="http://code.jquery.com/ui/1.9.2/jquery-ui.js">http://code.jquery.com/ui/1.9.2/jquery-ui.js</a>"</code><code class="plain">></</code><code class="keyword">script</code><code class="plain">></code></div><div class="line number26 index25 alt1"><code class="plain"></</code><code class="keyword">head</code><code class="plain">></code></div><div class="line number27 index26 alt2"><code class="plain"><</code><code class="keyword">body</code><code class="plain">></code></div><div class="line number28 index27 alt1"> </div><div class="line number29 index28 alt2"><code class="plain"><</code><code class="keyword">div</code> <code class="color1">id</code><code class="plain">=</code><code class="string">"droppable"</code><code class="plain">>Drop here</</code><code class="keyword">div</code><code class="plain">></code></div><div class="line number30 index29 alt1"><code class="plain"><</code><code class="keyword">div</code> <code class="color1">id</code><code class="plain">=</code><code class="string">"draggable"</code><code class="plain">>Drag me</</code><code class="keyword">div</code><code class="plain">></code></div><div class="line number31 index30 alt2"> </div><div class="line number32 index31 alt1"><code class="plain"><</code><code class="keyword">script</code><code class="plain">></code></div><div class="line number33 index32 alt2"><code class="plain">$( "#draggable" ).draggable();</code></div><div class="line number34 index33 alt1"><code class="plain">$( "#droppable" ).droppable({</code></div><div class="line number35 index34 alt2"><code class="undefined spaces"> </code><code class="plain">drop: function() {</code></div><div class="line number36 index35 alt1"><code class="undefined spaces"> </code><code class="plain">alert( "dropped" );</code></div><div class="line number37 index36 alt2"><code class="undefined spaces"> </code><code class="plain">}</code></div><div class="line number38 index37 alt1"><code class="plain">});</code></div><div class="line number39 index38 alt2"><code class="plain"></</code><code class="keyword">script</code><code class="plain">></code></div><div class="line number40 index39 alt1"> </div><div class="line number41 index40 alt2"><code class="plain"></</code><code class="keyword">body</code><code class="plain">></code></div><div class="line number42 index41 alt1"><code class="plain"></</code><code class="keyword">html</code><code class="plain">></code></div></div></td></tr></tbody></table></div>
543 <div class="demo code-demo"></div>