Mega Code Archive

 
Categories / JavaScript Tutorial / JQuery
 

JQuery UI Droppable - Prevent propagation

<!--   jQuery UI Effects Blind 1.7.2     Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)   Dual licensed under the MIT (MIT-LICENSE.txt)   and GPL (GPL-LICENSE.txt) licenses.   --> <!doctype html> <html lang="en"> <head>   <title>jQuery UI Droppable - Prevent propagation</title>   <link type="text/css" href="js/themes/base/ui.all.css" rel="stylesheet" />   <script type="text/javascript" src="js/jquery-1.3.2.js"></script>   <script type="text/javascript" src="js/ui/ui.core.js"></script>   <script type="text/javascript" src="js/ui/ui.draggable.js"></script>   <script type="text/javascript" src="js/ui/ui.droppable.js"></script>   <link type="text/css" href="js/demos.css" rel="stylesheet" />   <style type="text/css">   #draggable { width: 100px; height: 40px; padding: 0.5em; float: left; margin: 10px 10px 10px 0; }   #droppable, #droppable2 { width: 230px; height: 120px; padding: 0.5em; float: left; margin: 10px; }   #droppable-inner, #droppable2-inner { width: 170px; height: 60px; padding: 0.5em; float: left; margin: 10px; }   </style>   <script type="text/javascript">   $(function() {     $("#draggable").draggable();     $("#droppable, #droppable-inner").droppable({       activeClass: 'ui-state-hover',       hoverClass: 'ui-state-active',       drop: function(event, ui) {         $(this).addClass('ui-state-highlight').find('> p').html('Dropped!');         return false;       }     });     $("#droppable2, #droppable2-inner").droppable({       greedy: true,       activeClass: 'ui-state-hover',       hoverClass: 'ui-state-active',       drop: function(event, ui) {         $(this).addClass('ui-state-highlight').find('> p').html('Dropped!');       }     });   });   </script> </head> <body> <div class="demo">    <div id="draggable" class="ui-widget-content">   <p>Drag me to my target</p> </div> <div id="droppable" class="ui-widget-header">   <p>Outer droppable</p>   <div id="droppable-inner" class="ui-widget-header">     <p>Inner droppable (not greedy)</p>   </div> </div> <div id="droppable2" class="ui-widget-header">   <p>Outer droppable</p>   <div id="droppable2-inner" class="ui-widget-header">     <p>Inner droppable (greedy)</p>   </div> </div> </div><!-- End demo --> <div class="demo-description"> <p>When working with nested droppables &#8212; for example, you may have an editable directory structure displayed as a tree, with folder and document nodes &#8212; the <code>greedy</code> option set to true prevents event propagation when a draggable is dropped on a child node (droppable).</p> </div><!-- End demo-description --> </body> </html>