У меня есть iframe с designMode, установленным на 'on'.В нем есть несколько элементов div, и поскольку iframe является редактируемым, пользователь может вводить и редактировать любой из этих элементов div.Мне нужно отключить возможность для пользователя редактировать один из элементов div.
Я могу запретить пользователю нажимать на элемент div следующим образом:
document.getElementById('mydiv').addEventListener('mousedown', function(event) {
event.preventDefault();
return false;
}, true);
Однако пользователь по-прежнемувозможность использовать клавиши со стрелками на клавиатуре, переместить курсор к элементу div и отредактировать его.Я попытался запустить обратный вызов, когда div получает фокус, например:
document.getElementById('mydiv').addEventListener('focus', function(event) {
...
}, true);
, но этот обратный вызов никогда не вызывается.Затем я попытался предотвратить нажатия клавиш:
document.getElementById('mydiv').addEventListener('keydown', function(event) {
event.preventDefault();
return false;
}, true);
, но опять же, обратный вызов никогда не вызывается.Я даже попытался прикрепить обратный вызов к документу:
document.addEventListener('keydown', function(event) {
...
}, true);
, и тогда обратный вызов действительно вызывается, но мне нужен способ отменить событие, только если целевой элемент - это рассматриваемый div.
Любые идеи о том, как достичь цели, приветствуются.