как сделать, чтобы красный div не предупреждал 'ss', когда перетаскивал черный div на него, - PullRequest
0 голосов
/ 13 марта 2010

я использую jquery и jquery-ui,

это мой код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
        <meta name="viewport" content="width=device-width, user-scalable=no"> 
</head> 
    <body>
        <style type="text/css" media="screen"> 

        </style>

        <div id=a style="width:300px;height:300px;background:blue;position:absolute;"></div>
        <div id=b style="width:100px;height:100px;background:red;position:absolute;"></div>
        <div id=c style="width:50px;height:50px;background:black;clear:both"></div>
        <script src="jquery-1.4.2.js" type="text/javascript"></script>
        <script src="jquery-ui-1.8rc3.custom.min.js" type="text/javascript"></script>
        <script type="text/javascript" charset="utf-8"> 
$("#c").draggable({});
$("#b").droppable('disable');//this is not useful

$("#a").droppable({
drop: function(event,ui) {
    alert('ss')
    }
});
        </script> 

    </body> 
</html>

1 Ответ

0 голосов
/ 13 марта 2010

Решение состоит в том, чтобы включить красный div в синий div в иерархии DOM. А затем установите жетон красного капля на жадный. Проверьте документацию на плагин

Если true, предотвратит событие распространение на вложенных дескрипторах.

$("#c").draggable();
$("#b").droppable({greedy: true});
$("#a").droppable({
  drop: function(event,ui) {
    alert('ss');
  }
});

<div id="a" style="width:300px;height:300px;background:blue;position:absolute;z-index:180">
  <div id="b" style="width:100px;height:100px;background:red;position:absolute;z-index:200"></div>
</div>
<div id="c" style="width:50px;height:50px;background:black;clear:both;z-index:220"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...