I did it myself... For example it can be looking like follow:<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>