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 中拖动任何东西之外,这些都不会做任何事情。

4

3 回答 3

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');
        }            
        });
});
于 2012-04-09T22:14:23.920 回答
0

在制作与 TinyMCE 一起使用的拖放图像窗格时,我遇到了这个问题。这个解决方案使用 Firefox 的原生拖放对我有用:我没有像上面提到的那样用 td、tr 等包装 img 标签,而是在图像前放置了一个小注释:. 这足以让它在拖放中排除父元素,这是一个 DIV。我希望这可以帮助别人!

于 2014-04-14T04:30:38.123 回答
0

将您的标记更改为:

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

您应该能够通过使用以下内容来防止 IE 的默认拖动行为:

document.ondragstart = function () { 
    return false; 
};
于 2012-04-09T21:24:54.753 回答