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

HTML+CSS+JavaScript

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

 

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

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

тема: behavior: return false

Сообщения:  [1-7] 

 
 автор: localGhost   (18.04.2007 в 04:38)   письмо автору
 
   для: CNT   (17.04.2007 в 09:17)
 

спасибо большое! сделал, разобрался.

   
 
 автор: 12345   (17.04.2007 в 12:39)   письмо автору
 
   для: CNT   (17.04.2007 в 09:17)
 

CNT: глубокое копание :).

   
 
 автор: CNT   (17.04.2007 в 09:17)   письмо автору
 
   для: localGhost   (16.04.2007 в 13:30)
 

1. Событие onmousedown при event.button == 2 никакой возвращаемой функции не имеет. Проверьте сами: откройте окно браузера, нажмите и удерживайте в нажатом положении правую кнопку мыши. Как реагирует браузер? Никак не реагирует. И что тут можно отменить командой return false?
Только когда кнопку отпустите, т.е. когда произойдёт событие - КЛИК правой кнопки - вот тогда браузер покажет вам контекстное меню.
Иными словами - возвращаемая функция (которую можно отменить) имеется у события oncontextmenu, кое и нужно прописывать в HTC-файле. Приблизительно так:

<public:attach event="oncontextmenu" onevent="disableRightClick()" />
<script language="jscript">
function disableRightClick () {window.event.returnValue = false}
</script>


2. Событие onselectstart применяется не для объекта document, который уже существует на момент подключения HTC-файла, а для объекта document.body, который на этот момент ещё не сформирован.
Сначала необходимо дождаться готовности всего документа в браузере, и только затем прописывать телу документа необходимое действие. Приблизительно так:
<public:component>
<public:attach event="ondocumentready" onevent="bodyLoad ()" />
</public:component>

<script language="jscript">
function bodyLoad () {window.document.body.attachEvent ('onselectstart', disableSelect)}

function disableSelect () {window.event.returnValue = false}
</script>

   
 
 автор: 12345   (16.04.2007 в 14:54)   письмо автору
 
   для: localGhost   (16.04.2007 в 14:26)
 

А без behavior помогает? Может быть, это событие не инициирует по умолчанию то, что Вы хотите отменить. Если помогает, то значит, что behavior не отменяет событий по умолчанию, как это делает JS.

   
 
 автор: localGhost   (16.04.2007 в 14:26)   письмо автору
 
   для: 12345   (16.04.2007 в 14:17)
 

не помогло((

   
 
 автор: 12345   (16.04.2007 в 14:17)   письмо автору
 
   для: localGhost   (16.04.2007 в 13:30)
 

<public:attach event="onselectstart" onevent="return disableSelect()" />

   
 
 автор: localGhost   (16.04.2007 в 13:30)   письмо автору
 
 

использую стиль behavior: url('file.htc'). И что-то не работает как надо:

<public:attach event="onselectstart" onevent="disableSelect()" />
<public:attach event="onmousedown" onevent="disableRightClick()" />


<script language="jscript">

// -----------------------------------------------------------------

function disableSelect() {
    return false;
}

// -----------------------------------------------------------------

function disableRightClick() {
    if (event.button == 2) {
        return false;
    }
}
</script>


не отменяет действие... есть подозрение что не правильно применяю return false.. что не так?

   

Сообщения:  [1-7] 

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

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