2012-04-09 47 views
1

我有一個包含在div中的鏈接圖像。我希望能夠拖動鏈接的圖像到一個tinyMCE控制沒有其周圍的DIV。如何在未連接其父分區的情況下拖動鏈接?

HTML:

<div id="image_preview"><a href="somelink"><img src="someimage" /></a></div> 

無論出於何種原因,它的拖曳的DIV與IMG和A一起有沒有辦法讓它拖不DIV。我試過在DIV上防止默認的ondrag,onmousedown等,但是沒有拖動。

我已經試過:

$(document).ready(function(){ 
    $('#image_preview').on('mousedown', function(){ 
     return false; 
    }); 
}); 

和:

$(document).ready(function(){ 
    $('#image_preview').on('dragstart', function(e){ 
     e.preventDefault(); 
    }); 
}); 

和一些其他的東西,當然,我知道這些都不會做以外防止內的任何事情拖DIV。

+2

我們可以看到其餘的代碼嗎?特別是你寫的jQuery命令 – 2012-04-09 21:23:58

+0

你只使用jQuery還是jQuery UI? – Matijs 2012-04-09 21:53:12

+0

對不起,我不使用jQuery UI。你的建議是拖/克隆嗎? – Tomas 2012-04-09 22:05:26

回答

0

更改您的標記是:

<div draggable="false"><a href="somelink" draggable="false"><img src="someimage" draggable="true" /></a></div> 

你應該能夠阻止IE的默認拖曳bahavior通過使用這樣的事情:

document.ondragstart = function() { 
    return false; 
}; 
+0

可拖動屬性與IE不兼容,直到至少v9,這不是一個選項。 – Tomas 2012-04-09 21:27:23

0

HTML:

<div id="image_preview"><a href="somelink"><img src="someimage" /></a></div> 

    <div id="anotherdiv"></div> 

的jQuery :

$(function() { 
     $("img").draggable({ 
      stop: function(event, ui) { 
      $(this).appendTo('#anotherdiv'); 
     }    
     }); 
}); 
+0

謝謝。但我沒有使用jQuery UI。而且看起來每個人都錯過了拖動「鏈接」圖像的預期結果,而不是「只是」圖像。 – Tomas 2012-04-09 22:23:38

0

我在製作拖放圖像窗格時將此問題與TinyMCE一起使用。這個解決方案爲我使用Firefox的本地拖拽& drop:我沒有像上面提到的那樣用td,tr等包裝img標籤,而是在圖像前放置了一個小小的註釋:。這足以讓它排除拖動&拖放中的父元素,這是一個DIV。我希望這可以幫助別人!

相關問題