ondragstart Mozilla
Когда начинаешь тощить, стратует Drag and Drop. В MSIE он запрещается с помощью <BODY ondragstart='return false'>. Что делать с Мозиллой?
Когда начинаешь тощить, стратует Drag and Drop. В MSIE он запрещается с помощью <BODY ondragstart='return false'>. Что делать с Мозиллой?[/QUOTE]
Нашел как организовать перетаскивание в мозилле, а, следовательно, и контролировать этот процесс. Вот код:
[HTML]<html>
<head>
</head>
<body>
<a href="#" onmousedown='TryDragStart()' onmousemove='DragStart()'>
<table>
<tr>
<td>Row1</td>
<td>Row2</td>
</tr>
</table>
</a>
</body>
</html>
[/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>
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>