удаление обработчика событий путем установки значения null не работает в Firefox 3.6 - PullRequest
0 голосов
/ 18 января 2011

Я экспериментировал с этим кодом. Это хорошо работало в Chrome, но не в Firefox 3.6

<body onmousedown="return false" oncontextmenu="return false">
<p>once there lived</p>
<div style='color:red; height: 300px; width:100%;'>
hehe</div>

<script>
/*
window.setTimeout( function() {
     document.body.onmousedown = function() { return true; }
     document.body.oncontextmenu = function() { return true; }
     document.onmousedown = function() { return true; }
     document.oncontextmenu = function() { return true; }
     alert('ready to check');
},5000)
*/

window.setTimeout( function() {
     document.body.onmousedown = null;
     document.body.oncontextmenu = null;
     document.onmousedown = null;
     document.oncontextmenu = null;
     alert('ready to check');
},5000)

</script>
</body>

Ответы [ 2 ]

1 голос
/ 23 января 2011

В браузерах на основе Gecko <body onmousedown> отображается на window.onmousedown, а не document.onmousedown или document.body.onmousedown.На других элементах элемент mousedown отображается в свойство mousedown, как и ожидалось.

0 голосов
/ 18 января 2011

Я почти уверен, что это должно работать. У Firefox есть возможность запретить JavaScript отключать / заменять контекстные меню - возможно, у вас есть этот набор?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...