在拖放事件中获取元素的属性

时间:2011-09-16 19:53:06

标签: javascript jquery jquery-ui jquery-ui-draggable jquery-ui-droppable

我可以在droppable div的out和drop事件中获得哪些信息?我有两个可放置的容器div:容器一个有四个嵌套元素,容器二个有一个嵌套元素。我将一个元素从容器1拖到容器二中。在容器一的out事件中,我仍然找到四个嵌套元素。但是,在容器二的drop事件中,我找到了一个元素,但它恰好是来自容器一的元素。所以有几个问题:

  1. 在两个事件中找到的信息都不反映容器的实际状态。
  2. out事件并不反映元素被移出。
  3. drop事件仅显示要删除的元素。
  4. 以下是容器的HTML和嵌套在其中的元素。

    <div id="container1" class="comdiv ui-widget-content" style="position: absolute; top: 40px; left: 40px; width:350px; height:250px;"> 
        <p id="heading" class="comhdr editableText">Container 1</p> 
    
        <br/> 
        <div id="u0014" class="comurl"><img class="dhandle" src="http://www.google.com/s2/favicons?domain=tf1.fr" align="middle" />&nbsp;<a href="http://tf1.fr" target="_blank">TF1.fr</a>  
        </div> 
        <div id="u0015" class="comurl"><img class="dhandle" src="http://www.google.com/s2/favicons?domain=www.aol.com" align="middle" />&nbsp;<a href="http://www.aol.com" target="_blank">AOL.com</a> 
        </div> 
        <div id="u0016" class="comurl"><img class="dhandle" src="http://www.google.com/s2/favicons?domain=www.facebook.com" align="middle" />&nbsp;<a href="http://www.facebook.com" target="_blank">Facebook.com</a> 
        </div> 
        <div id="u0017" class="comurl"><img class="dhandle" src="http://www.google.com/s2/favicons?domain=msn.com" align="middle" />&nbsp;<a href="http://www.msn.com" target="_blank">MSN.com</a>  
        </div> 
    
    </div> 
    
    <div id="container2" class="comdiv ui-widget-content" style="position: absolute; top: 40px; left: 240px; width:350px; height:250px;"> 
        <p id="heading" class="comhdr editableText">Container 2</p> 
    
        <br/> 
        <div id="u0018" class="comurl"><img class="dhandle" src="http://www.google.com/s2/favicons?domain=google.com" align="middle" />&nbsp;<a href="http://google.com" target="_blank">Google.com</a>  
        </div> 
    
    </div> 
    

    在javascript中,我使用.children.each函数循环遍历嵌套元素,例如$('#'+divid).children('div').children('div').each()

    function update_urls(divid) { 
    
       // add urls 
    
        var url = ''; 
        var urlname = ''; 
        var urllink = ''; 
        var urlid = ''; 
        $('#'+divid).children('div').children('div').each(function () { 
    
        url = $(this).find('a'); 
        urlname = url.text(); 
        urllink = url.attr('href'); 
        urlid = $(this).attr('id'); 
    
        alert("urlid "+urlid+" urlname "+urlname+" urllink "+urllink); 
    
    } 
    

    除了out和drop之外还有其他事件可以获得有关拖放div的嵌套元素的正确信息吗?是否有除.children之外的其他函数来获取拖放div的嵌套元素?

0 个答案:

没有答案