Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как запретить вызывать обработчик события (https://javascript.ru/forum/events/34263-kak-zapretit-vyzyvat-obrabotchik-sobytiya.html)

Jeremen 26.12.2012 23:07

Как запретить вызывать обработчик события
 
Есть кнопка. На ней обработчик на клик. Подскажите пожалуйста как можно сделать так чтобы после клика по кнопка по ней нельзя было нажать определённое кол-во времени?

Deff 26.12.2012 23:39

к примеру взять и заслонить сверху прозрачной картинкой, удаляющейся по тимеOut через время t

Jeremen 26.12.2012 23:42

а что-то более изящное?

dmitriymar 26.12.2012 23:50

Цитата:

Сообщение от Jeremen
а что-то более изящное?

вариантов море -зависит от ситуации:
удалить обработчик события и вернуть его в через время.

при клике ставить какой то флаг какой сбрасывать через время.
в функции обработчике проверять флаг.

ставить ей атрибут http://htmlbook.ru/html/input/disabled

ставить ей display none а затем возвращать.

Цитата:

Сообщение от Deff
к примеру взять и заслонить сверху прозрачной картинкой, удаляющейся по тимеOut через время t

ставить ей какойто дата атрибут, какой удалять через время н и проверять его в обработчике его наличие

присваивать атрибуту время и проверять его в обработчике

менять на время имя /класс/ид.... и проверять в обработчике
.....

Jeremen 26.12.2012 23:52

кнопка должна работать и отображаться. и вообще это просто ссылка. но клик должен не работать.

dmitriymar 26.12.2012 23:55

Цитата:

Сообщение от Jeremen
кнопка должна работать и отображаться. и вообще это просто ссылка. но клик должен не работать.

дак что мешает?
я предложил кучу вариантов.
нет такого свойства, опаратора языка -не работать н времени

Jeremen 27.12.2012 00:05

да я знаю) сейчас попробую какой-то из

Deff 27.12.2012 03:06

Цитата:

Сообщение от Jeremen
да я знаю) сейчас попробую какой-то из

Кликабельная кнопка
<style type="text/css">
 .wrp_btn{
 position:relative;
 z-index:2;
}
 .wrp_btn > img{
 margin:0;
 display:block;
 position:absolute;
 width:100%;
 height:135%;
 background:red url("http://forum.mybb.ru/i/blank.gif") repeat;
 /*Вариант строки выше для замены прозрачкой(а не красным);
 background:transparent url("http://forum.mybb.ru/i/blank.gif") repeat;*/
 z-index:-1;
}
</style>

<span class="wrp_btn">
    <img style="z-index:-1;" src="http://forum.mybb.ru/i/blank.gif"/>
    <button onclick="Tst(this)">Кнопка</button>
    
</span>
<script type="text/javascript">
function Tst(a) {
  var ZzZ = a.parentNode.childNodes[1].style;
  ZzZ.zIndex=20;
  setTimeout(function() {ZzZ.zIndex="-1"} , 1000); //1000 - время задержки
}
</script>


Тоже самое для ссылки

<style type="text/css">
 .wrp_btn{
 position:relative;
 z-index:2;
}
 .wrp_btn > img{
 margin:0;
 position:absolute;
 width:100%;
 height:135%;
 background:red url("http://forum.mybb.ru/i/blank.gif") repeat;
 /*Вариант строки выше для замены прозрачкой(а не красным);
 background:transparent url("http://forum.mybb.ru/i/blank.gif") repeat;*/
 z-index:-1;
}
</style>

<span class="wrp_btn">
    <img style="z-index:-1;" src="http://forum.mybb.ru/i/blank.gif"/>
    <a  style="padding:0 4px;" href="#" onclick="Tst(this);return false;">Кнопка</a>
    
</span>
<script type="text/javascript">
function Tst(a) {
  var ZzZ = a.parentNode.childNodes[1].style;
  ZzZ.zIndex=20;
  setTimeout(function() {ZzZ.zIndex="-1"} , 1000); //1000 - время задержки
}
</script>

================================
Для замены заслонки на прозрачную сделать замену в соответствии с комментом в стилевом оформлении


Часовой пояс GMT +3, время: 13:54.