Как отменить выделения
Хочу отменить возможность выделений дочерних элементов у родителя
... parent.onmousedown = parent.onselectstart = function() { return false; } но при этом исключить это правило для некоторых дочерних элементов. Можно было бы назначить функцию выше на каждый элемент индивидуально, но я так не хочу. Как это сделать? |
Вот пример
<!DOCTYPE HTML> <html> <head> </head> <body onmousedown="return false" onselectstart="return false"> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#0f0; width:200px; margin:4px;" id="on2">Разрешить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#0f0; width:200px; margin:4px;" id="on1">Разрешить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> </body> </html> |
Цитата:
<body onmousedown="return false;"> |
devote,
да, писал сходу, методом проб и ошибок :) |
Так же хотел бы узнать, зачем использовать onselectstart? Ведь ie понимает onmousedown.
|
Цитата:
|
спасибо!
а как исключить эти события для некоторых вложенных элементов? |
Ну хоть кто-нибудь....... :help:
|
:help: :help: :help: :help: :help: :help:
ну неужели нужно будет отменять функцию выделения у каждого элемента индивидуально?? У меня тысяча дочерних элементов, и только в двух нужно дать возможность выделять! Мне надо 998 раз писать эту хрень : ... child.onmousedown = child.onselectstart = function() { return false; } ХЕЕЕЕЕЛП!!! :help: :help: :help: :help: :help: :help: :help: :help: :help: |
:write:
Сделал, работает: <!DOCTYPE HTML> <html> <head> </head> <body onmousedown="return false" onselectstart="return false"> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#0f0; width:200px; margin:4px;" id="on2">Разрешить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#0f0; width:200px; margin:4px;" id="on1">Разрешить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <div style="background:#f00; width:200px; margin:4px;">Запретить выделение</div> <script> document.getElementById("on2").onmousedown = function (event) { event.stopPropagation(); }; document.getElementById("on2").onselectstart = function (event) { event.stopPropagation(); }; </script> <script> document.getElementById("on1").onmousedown = function (event) { event.stopPropagation(); }; document.getElementById("on1").onselectstart = function (event) { event.stopPropagation(); }; </script> </body> </html> Объясните почему работает? event.stopPropagation() блокирует всплытие, а тут наоборот вроде как :blink: |
Часовой пояс GMT +3, время: 04:48. |