|
|
|
|
|
для: Ressfourt
(25.11.2005 в 14:27)
| | Но вопрос-то стоял - не таскать с текущей страницы.
Однако, обнаружился onDrop, который запрещает сбрасывать картинки из чужого окна в IE. А FF вообще показывает картинку как новую страницу, если тащишь её из другого окна (испр. - нет, версия FF 1.06, не поддерживает contentEditable ). Так что и эта задача решается:
<script>
document.ondragstart=function(){event.returnValue=!1;}
onmousedown=function(Ev){Ev.preventDefault();}
</script>
<body><div contentEditable style=background-color:#eeeeee onDrop=return!1><br> b<r><br><br><br>
<img src=xxx.jpg onclick=alert(0)>
<br>b b<br><br>b сюда не затащишь картинки с других сайтов
<br></div>
<img src=xxx.jpg> - для демонстрации запрета таскания
</body>
|
| |
|
|
|
|
|
|
|
для: 12345
(25.11.2005 в 12:34)
| | спасиб хех но тут тогда это не поможет человек может с другого сайта перетащить рисунок.... я решил попробывать через ругулярные выражения убивать то что не нужно | |
|
|
|
|
|
|
|
для: Ressfourt
(24.11.2005 в 19:29)
| | Нет, через события естественнее, а запрета сброса таскаемого объекта - такой функции нет. И массив - не тот метод, что используется, а ловится любое событие и проверяется, от какого оно элемента. Если от image (Ev.target.tagName()=='IMG'), то выполняется запрет таскания. В данном случае запрещаем все таскания (пров. в IE6sp2, Op7.52, FF1.06):
<script>
document.ondragstart=function(){event.returnValue=!1;}
onmousedown=function(Ev){Ev.preventDefault();}
</script><body>
<img src=xxx.jpg onclick=alert(0)>
</body>
| Клики при этом, как можно убедиться, работают. Использована особенность, что в Мозилле события при окне, а не только при документе, а в IE - при документе. | |
|
|
|
|
|
|
|
для: Ressfourt
(24.11.2005 в 18:30)
| | хотя может есть альтернатива... FCKeditor использует IFRAME может есть функции которые запрещают перетаскивание обьектов в IFRAME ?? | |
|
|
|
|
|
|
|
для: 12345
(24.11.2005 в 18:11)
| | уфф да для IE понял... кхм а вот как бы для всех остальных браузерах написать на Яваскрипте функцию которая при онлоад создала массив из всех загруженных изображений и к каждому прикрутила onmousedown=return!
просто в яваскрипте я не силе можно скзаать туп как скрепка ... может кто пожет с такой функцией | |
|
|
|
|
|
|
|
для: Ressfourt
(24.11.2005 в 17:34)
| | В FF не так красиво, там надо обрубать попытку таскания банальным onmousedown=return!1 . (Пишешь, например, обработчик, срабатывающий на все картинки. Как ни странно, при этом onClick работает, поэтому кликам не мешает. Но запретить таскание в IE мешает.) Итого, чтобы работало там и там,
<script>
document.ondragstart=function(){event.returnValue=!1;}
</script>
<body>
<img src=xxx.jpg onmousedown=return!!document.all>
</body>
|
| |
|
|
|
|
|
|
|
для: 12345
(24.11.2005 в 17:27)
| | насколько я понимаю это работает только в ИЕ а как сделать чтоб и других браузерах тоже работало? | |
|
|
|
|
|
|
|
для: Ressfourt
(24.11.2005 в 16:52)
| | Ты просил в 2 словах, а подробно - это надо знать механизм обработки событий.
Например, я для нетаскания рисунков использовал:
function eDrag(){event.returnValue=!1;}
document.ondragstart=eDrag;
| Это значит, что отменяются все перетаскивания по событию, которое дошло до уровня <body>. Если надо разрешить его в окне редактирования, добавляешь для окна разрешение таскания (<div ondragstart=event.returnValue=!0>)
http://www.computerbooks.ru/books/Web_Internet/44/index_web/dhtml/ondragstart.htm | |
|
|
|
|
|
|
|
для: 12345
(24.11.2005 в 16:44)
| | для деревенного обьясни куда как и зачем вставить добавлю что использую FCKeditor | |
|
|
|
|
|
|
|
для: Ressfourt
(24.11.2005 в 15:28)
| | Отменить событие ondragstart на странице. | |
|
|
|
|