【问题标题】:Make image draggable使图像可拖动
【发布时间】:2013-01-11 06:02:42
【问题描述】:

如果我使用 jquery UI 通过 HTML 添加图像,我可以毫无问题地使其可拖动。

$('#div1 img').draggable({
            containment: '#div1',
});

<div id='div1' class="div1" runat="server" >
     <asp:Image ImageUrl='Images/img1.gif' ID='img1' runat='server'  Height='30px' Width='30px' />
</div>

但是,如果我要从 page_load 后面的代码中添加图像,我将如何使其可拖动?

div1.Controls.Add(new HtmlImage()
                {
                    ID = "img2",
                    Src = "Images/img2.gif",
                    Width = 30,
                    Height = 30
                });

对不起各位,我解决了: 最后,这就是原因。我有这个 $(this).css("不透明度", "1.0");

$('#div1 img').draggable({
        containment: '#div1',
        $(this).css("opacity", "1.0");
});

移除了不透明线,解决了我的可拖动问题。对不起各位

【问题讨论】:

    标签: c# jquery asp.net draggable


    【解决方案1】:

    使用 jQuery 的 on() 事件处理程序。

    $( "#div1" ).on( "click", "img", function( event ){
      $( this ).draggable();
    });
    

    简而言之,将on 附加到动态加载图像的现有父元素。接下来有一个事件(如果您使用单击,则必须先单击,然后再次单击以拖动,因此您可能想尝试不同的事件)导致带有可拖动代码的函数在现在存在的任何 img 上运行。

    【讨论】:

    • 是的,我特意为所有图片添加了可拖动,因为页面是基于登录的,那些没有正确登录凭据的人无法拖动。但现在我只是想在通过代码附加新图像后添加可拖动
    • 另外我应该提到这个 div 目前没有图像。顶部的示例只是表明,当我在 html 中有静态图像时,使该静态图像可拖动没有问题。
    • 对。我的解决方案适用于您提到的情况。 on 将找到您新添加的图像并使它们可拖动。弗兰克,别忘了对您认为有用的解决方案进行投票,如果它解决了您的问题,请将其标记为“已接受”。
    • 我已经添加了这个,但它对使图像可拖动没有任何改变。我在此功能中添加了一个警报,当我单击创建的图像时它会发出警报,但仍然没有拖动。一旦我让该图像移动,我将标记适当的接受:)
    • 当您单击图像(应用该功能)然后再次单击它以尝试拖动它时会发生什么?
    猜你喜欢
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    相关资源
    最近更新 更多