maxell2k11 0 Zgłoś post Napisano Październik 5, 2012 Witam wszystkich, do rzeczy: mam sobie kod html: <div id="kalendarz"></div> nastepnie za pomocą jquery: $.("#kalendarz").html("<div class='elem'>1</div><div class='elem'>2</div><div class='elem'>3</div>"); wgrywam do #kalendarz poszczególne divy 'elem' OK jednak teraz mam kod który fajnie zaznacza te divy poprzez .drag jquery (działa OK w momencie kiedy nie robimy dynamicznego ładowania poprzez .html() ) <script type="text/javascript"> jQuery(function($){ $( document ) .drag("start",function( ev, dd ){ return $('<div class="selection" />') .css('opacity', .65 ) .appendTo( document.body ); }) .drag(function( ev, dd ){ $( '.elem' ).removeClass("dropped"); $( dd.proxy ).css({ top: Math.min( ev.pageY, dd.startY ), left: Math.min( ev.pageX, dd.startX ), height: Math.abs( ev.pageY - dd.startY ), width: Math.abs( ev.pageX - dd.startX ) }); }) .drag("end",function( ev, dd ){ $( dd.proxy ).remove(); }); $('.elem') .drop("start",function(){ $( this ).addClass("active"); }) .drop(function( ev, dd ){ $( this ).toggleClass("dropped"); }) .drop("end",function(ev,dd){ $( this ).removeClass("active"); // $('#res').html(($(dd.target).attr('id'))); }); $.drop({ multi: true }); }); </script> Nie mogę się odwoływać do tych div.elem tak jak wspomniałem dlatego że są ładowane ddynamicznie poprzez .html - ktoś ma na to sposób ? Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Październik 5, 2012 live. Udostępnij ten post Link to postu Udostępnij na innych stronach
maxell2k11 0 Zgłoś post Napisano Październik 5, 2012 live ? :> tzn ? Udostępnij ten post Link to postu Udostępnij na innych stronach
PapaSmerf 497 Zgłoś post Napisano Październik 5, 2012 (edytowany) Xorgowi chodziło o: http://api.jquery.com/live/, ale lepiej moim zdaniem użyć http://api.jquery.com/on/ Edytowano Październik 5, 2012 przez pedro84 (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
maxell2k11 0 Zgłoś post Napisano Październik 5, 2012 Ok, sprawdzę... A macie jakiś pomysł aby funkcja X wykonywała się już po zakończniu akcji drag and drop select ? .drop("end",function(ev,dd){ funckcjaXXXX(); // ale jest wykonywana kilka razy podczas operacji a chcęaby byla tylko raz po wszystkim }); Udostępnij ten post Link to postu Udostępnij na innych stronach
maxell2k11 0 Zgłoś post Napisano Październik 8, 2012 (edytowany) Chodzi o rozwiązanie tego problemu: http://stackoverflow...ally-added-divs Chodzi o rozwiązanie tego problemu ( czyli działa wszystko ładnie ale jak damy dodawanie dynamiczenie elementów to już nie są one objęte skryptem ... "nie widzi" tego skrypt... <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <script src="http://threedubmedia.com/inc/js/jquery-1.7.2.js"></script> <script src="http://threedubmedia.com/inc/js/jquery.event.drag-2.2.js"></script> <script src="http://threedubmedia.com/inc/js/jquery.event.drag.live-2.2.js"></script> <script src="http://threedubmedia.com/inc/js/jquery.event.drop-2.2.js"></script> <script src="http://threedubmedia.com/inc/js/jquery.event.drop.live-2.2.js"></script> <title>Testpage</title> </head> <body> <script type="text/javascript"> jQuery(function($){ $('#foo').click(function(){ $('#main').append($('<div class="drop">foo</div>')) }); $( document ) .drag("start",function( ev, dd ){ return $('<div class="selection" />') .css('opacity', .65 ) .appendTo( document.body ); }) .drag(function( ev, dd ){ $( dd.proxy ).css({ top: Math.min( ev.pageY, dd.startY ), left: Math.min( ev.pageX, dd.startX ), height: Math.abs( ev.pageY - dd.startY ), width: Math.abs( ev.pageX - dd.startX ) }); }) .drag("end",function( ev, dd ){ $( dd.proxy ).remove(); }) .on("dropstart", ".drop", function(){ $(this).addClass("active"); }) .on("drop", ".drop", function(){ $(this).toggleClass("dropped"); }) .on("dropend", ".drop", function(){ $(this).removeClass("active"); }); $.drop({ multi: true }); }); </script> <h1>Live adding of selectable elements</h1> <p>Click and drag to select any number of dashed boxes.</p> <input type="button" id="foo" value="Add a box"/> <div id="main"></div> <style type="text/css"> .selection { position: absolute; border: 1px solid #89B; background: #BCE; background-color: #BEC; border-color: #8B9; } .drop { float: left; border: 1px dashed #888; background: #EEE; text-align: center; padding: 20px; margin: 0 10px 10px 0; } .dropped { background-color: #EBC; border-color: #B89; } .active { background-color: #CEB; border-color: #9B8; } </style></body> </html> Edytowano Październik 8, 2012 przez maxell2k11 (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
maxell2k11 0 Zgłoś post Napisano Październik 9, 2012 Dobrze a może jakiś przykładowy kodzik ? w jquery nie czujęsię jeszce zbyt mocno... Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość AceDude Zgłoś post Napisano Październik 9, 2012 $(document).on('click', '.klasa', function(e) { console.log('Klik klik'); }); Udostępnij ten post Link to postu Udostępnij na innych stronach
maxell2k11 0 Zgłoś post Napisano Październik 9, 2012 samu będę wdzięczny za fragment kodu js czyli ta funkcja o ktorej pisałes.... jak będziesz miał chwilkę... Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość AceDude Zgłoś post Napisano Październik 9, 2012 Właśnie ci to napisałem... Udostępnij ten post Link to postu Udostępnij na innych stronach
maxell2k11 0 Zgłoś post Napisano Październik 9, 2012 Jeżeli można to prosiłbym o mniej uogólniony wzór... jka pisałem początkuję w jquery,... Udostępnij ten post Link to postu Udostępnij na innych stronach
Łukasz Ostrowski 593 Zgłoś post Napisano Październik 9, 2012 Skoro jesteś początkującym to jak najbardziej samodzielna praca uczyni Ciebie mistrzem Udostępnij ten post Link to postu Udostępnij na innych stronach
maxell2k11 0 Zgłoś post Napisano Październik 9, 2012 Odrobinę litości siedzę od 2 dni nad tym zadaniem... Udostępnij ten post Link to postu Udostępnij na innych stronach
maxell2k11 0 Zgłoś post Napisano Październik 10, 2012 Czy ktoś pomoże ? Będę bardzo wdzięczny. Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Październik 10, 2012 http://threedubmedia.com/code/event/drag i na dole masz demo o nazwie Live, w którym działa przesuwanie nowo otworzonych obiektów. Możesz tez zawsze skorzystać z jQuery UI - http://jqueryui.com/draggable/#events Udostępnij ten post Link to postu Udostępnij na innych stronach
maxell2k11 0 Zgłoś post Napisano Październik 15, 2012 Zamykamy. Udostępnij ten post Link to postu Udostępnij na innych stronach