|
|
|
| использую стиль 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.. что не так? | |
|
|
|
|
|
|
|
для: localGhost
(16.04.2007 в 13:30)
| | <public:attach event="onselectstart" onevent="return disableSelect()" /> | |
|
|
|
|
|
|
|
для: 12345
(16.04.2007 в 14:17)
| | не помогло(( | |
|
|
|
|
|
|
|
для: localGhost
(16.04.2007 в 14:26)
| | А без behavior помогает? Может быть, это событие не инициирует по умолчанию то, что Вы хотите отменить. Если помогает, то значит, что behavior не отменяет событий по умолчанию, как это делает JS. | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|
|
|
|
|
для: CNT
(17.04.2007 в 09:17)
| | CNT: глубокое копание :). | |
|
|
|
|
|
|
|
для: CNT
(17.04.2007 в 09:17)
| | спасибо большое! сделал, разобрался. | |
|
|
|