uploadify не работает в jquery, перетаскиваемом div - PullRequest
0 голосов
/ 17 февраля 2012

Я пытаюсь поместить кнопку загрузки видео в перетаскиваемый элемент.

Моя загрузка видео частичных видео / _new_video

<p>Upload your Video </p>
<div id="video_attachment"></div>

<%= content_for (:scripts) do%>
<script type="text/javascript">
  $(function() {
    <% session_key = Rails.application.config.session_options[:key] %>
    var uploadify_script_data = {};
    var csrf_token = $('meta[name=csrf-token]').attr('content');
    var csrf_param = $('meta[name=csrf-param]').attr('content');

    uploadify_script_data[csrf_param] = encodeURI(encodeURIComponent(csrf_token));
    uploadify_script_data['<%= session_key %>'] = '<%= cookies[session_key] %>';

    $('#video_attachment').uploadify({
      uploader  : '<%= asset_path("uploadify/uploadify.swf") %>',
      script    : '<%= videos_path %>',
      wmode     : 'transparent',
      cancelImg : '<%= asset_path("uploadify/cancel.png") %>',
      fileDataName    : 'attachment',
      scriptData : uploadify_script_data,
      auto      : true,
      buttonText : 'Browse',
      onAllComplete : function(event, data){
        alert("Success!  Please be patient while the video processes.");
      },
      onError: function(event, ID, fileObj, errorObj){
        alert("There was an error with the file you tried uploading.\n Please verify that it is the correct type.")
      }
    });
  });
</script>

application.js

//= require jquery
//= require jquery_ujs
//= require uploadify/jquery.uploadify.v2.1.4.min
//= require uploadify/swfobject

profile.js

$(document).ready( function(){

/* For edit_draggable */
    $("#edit-draggable").draggable();

$("#edit-draggable").hide();

});

в моем профиле /show, uploadify будет работать вне перетаскиваемого div следующим образом:

<%= render "videos/new_video"%> 
<div id="edit-draggable" class="ui-widget-content ui-dialog">

    <%= render "edit"%>
</div>

, но не будет работать внутри перетаскиваемого div следующим образом:

<div id="edit-draggable" class="ui-widget-content ui-dialog">
    <%= render "videos/new_video"%>   
    <%= render "edit"%>
</div>

Кто-нибудь знает, в чем проблема?

Заранее спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 19 октября 2012

Это должно работать:

.draggable({ cursor: "move", cancel: '.uploadify'})
0 голосов
/ 18 февраля 2012

Хорошо, я понял это, поэтому я собираюсь ответить на свой вопрос.

Оказывается, что перетаскиваемый div без ручки перетаскивания замаскирует события щелчка в div, поэтому uploadifyкнопка была заблокирована перетаскиваемым.

решение было добавить ручку перетаскивания, чтобы div можно было перетаскивать только при нажатии на часть div.

...