При добавлении текстового поля в div внутри выпадающего div

0

У меня есть один div, где я выпадаю и добавляю текстовое поле, которое работает отлично, но проблема в том, что у меня есть еще один div внутри этого div (например, раздел), где мне нужно отбросить и добавить такое же текстовое поле, но теперь оно отбрасывается дважды, один для внутреннего div и другие для внешнего div, но я хочу только внутренний div. Я пытался в Google, но не мог найти много помощи. Поэтому будет очень полезно, если у кого-то есть идея по этому поводу. Спасибо.

http://jsfiddle.net/Dw66V/

вот код, но не полный, поскольку он очень сложный

     $(function () {
                        var $Drag_tbox = $("#Drag_tbox"),                       
                            $drop_box = $("#tabs-1"),
                            $drop_box_sec = $("#secdiv");


                $Drag_tbox.draggable(
                        {
                            zIndex: 9003,
                            revert: "invalid",
                            helper: "clone",
                            drag: function (event, ui) {
                                num = 1;
                                return num;
                            }
                        });



                $drop_box_sec.droppable({
                    zIndex: 9003,
                    drop: function (event, ui) {

                            if (num == 1) {
                                $drop_box_sec.append('<tr><td align="center"><asp:Label runat="server" Text="Label"></asp:Label><input id="Text1" type="text" /></tr></td>');                          
                            }

                    }

                });


                $drop_box.droppable({
                    zIndex: 9003,
                    drop: function (event, ui) {

                            if (num == 1) {
                                $drop_box.append('<tr><td align="center"><asp:Label runat="server" Text="Label"></asp:Label><input id="Text1" type="text" /></tr></td>');

                            }                       

                    }



     });
});
  • 0
    Вы можете jsFiddle код?
  • 0
    Покажите код или скрипку, пожалуйста.
Показать ещё 2 комментария

1 ответ

0
Лучший ответ

Ну, вы можете отвязать событие для внешнего окна, когда событие для внутреннего блока запущено, а затем привязать его снова, когда это будет сделано. Если вы используете jQuery, вы можете использовать off() или unbind(). Пожалуйста, разместите свой код, чтобы я мог сослаться на это.


После просмотра кода: http://jsfiddle.net/Dw66V/3/

Я добавил перетаскиваемый div. Что происходит сейчас, когда что-то падает на внутренний элемент, внешний элемент droppable отключается, после чего он снова включается после короткого таймаута.

$drop_box_sec.droppable({
  drop: function (event, ui) {
    $drop_box.droppable('option', 'disabled', true);
    // Your code here
    setTimeout(function () {
      $drop_box.droppable('option', 'disabled', false);
    }, 500);
  }
});

ЛУЧШИЙ СПОСОБ ДЕЛАТЬ ЭТОГО :) (через Jquery drop callback метода droppable, который вызывается дважды)

Просто добавьте параметр "жадный" во внутренний div, например:

$drop_box_sec.droppable({
  greedy: true,
  drop: function (event, ui) {
    // Your code here
  }
});

это прекрасно работает из коробки. http://jsfiddle.net/Dw66V/4/

  • 0
    Вот код, братан ..
  • 0
    Братан, это хорошо работает для внутреннего div, но когда я вижу в этой скрипке, что тест не работает для внешнего div?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню