IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Drag and Drop in Mozilla (http://www.imho.ws/showthread.php?t=102196)

russell 12.04.2006 11:02

Drag and Drop in Mozilla
 
Мне нужно реализовать drag and drop в Mozilla...
В Internet Explorer есть событие ondragstart...
Мне нужно отловить такое же в Mozilla...

Есть таблица с каким-то текстом. Нужно выполнить drag в Mozilla и drop в другом приложении...

russell 13.04.2006 11:13

Разобрался...

Код:

<html>
<head>
</head>
<body>

<a href="#" onmousedown='TryDragStart()' onmousemove='DragStart()'>
    <table>
        <tr>
            <td>Row1</td>
            <td>Row2</td>
        </tr>
    </table>
</a>

</body>
</html>


<script language="javascript">

    document.onmouseup = DragStop;
   
    var dragTried = false;

    function TryDragStart()
    {
        dragTried = true;
    }
   
    function DragStop()
    {
        dragTried = false;
    }
   
    function DragStart()
    {
        if (dragTried)
        {
                netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
           
            var dragService = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
            var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable)
            trans.addDataFlavor("text/unicode");
           
            var textData = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
            textData.data = "Done!!!";
           
            trans.setTransferData("text/unicode", textData, textData.data.length * 2);
           
            var transArray = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
            transArray.AppendElement(trans);
           
            dragService.invokeDragSession(dragService.TEXT_NODE, transArray, null, dragService.DRAGDROP_ACTION_COPY);
            }
    }

</script>



Часовой пояс GMT +4, время: 20:52.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.