Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: WYSIWYG

Сообщения:  [1-10]   [11-13] 

 
 автор: 12345   (25.11.2005 в 15:14)   письмо автору
 
   для: 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> 

   
 
 автор: Ressfourt   (25.11.2005 в 14:27)   письмо автору
 
   для: 12345   (25.11.2005 в 12:34)
 

спасиб хех но тут тогда это не поможет человек может с другого сайта перетащить рисунок.... я решил попробывать через ругулярные выражения убивать то что не нужно

   
 
 автор: 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 в 19:29)   письмо автору
 
   для: Ressfourt   (24.11.2005 в 18:30)
 

хотя может есть альтернатива... FCKeditor использует IFRAME может есть функции которые запрещают перетаскивание обьектов в IFRAME ??

   
 
 автор: Ressfourt   (24.11.2005 в 18:30)   письмо автору
 
   для: 12345   (24.11.2005 в 18:11)
 

уфф да для IE понял... кхм а вот как бы для всех остальных браузерах написать на Яваскрипте функцию которая при онлоад создала массив из всех загруженных изображений и к каждому прикрутила onmousedown=return!

просто в яваскрипте я не силе можно скзаать туп как скрепка ... может кто пожет с такой функцией

   
 
 автор: 12345   (24.11.2005 в 18:11)   письмо автору
 
   для: 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>

   
 
 автор: Ressfourt   (24.11.2005 в 17:34)   письмо автору
 
   для: 12345   (24.11.2005 в 17:27)
 

насколько я понимаю это работает только в ИЕ а как сделать чтоб и других браузерах тоже работало?

   
 
 автор: 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

   
 
 автор: Ressfourt   (24.11.2005 в 16:52)   письмо автору
 
   для: 12345   (24.11.2005 в 16:44)
 

для деревенного обьясни куда как и зачем вставить добавлю что использую FCKeditor

   
 
 автор: 12345   (24.11.2005 в 16:44)   письмо автору
 
   для: Ressfourt   (24.11.2005 в 15:28)
 

Отменить событие ondragstart на странице.

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования