Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   измененя ид атрибута (https://javascript.ru/forum/misc/28892-izmenenya-id-atributa.html)

dadli 06.06.2012 14:39

измененя ид атрибута
 
здравствуите

не буду говорить много, просто скажу что если нажму на кнопка1, а потом нажму на кнопка2, то алерт все ровно происходит, обясните плиз почему?
P.S. фаирбаге смотрю и ид изменяется успешно
вот код:

$(document).ready( function () {
	

      $("#knopka1").bind("click", function () {
      	 
         $(".my_class").attr({
         	id: "blablabla"
         })
          
      }) ;
    
    
    $("#knopka2").bind("click", function () {
    	alert("chto-to");
    });
    
     
}) ;


Код:

<div id="knopka1">knopka1</div>
<div id="knopka2" class="my_class">knopka2</div>


tadjik1 06.06.2012 14:49

ну потому что вы меняете айди, но привязка к событию остаётся. используйте либо метод off() jquery, либо удаляйте элемент и создавайте новый, либо вообще откажитесь от изменения айди — это неправильно.

Deff 06.06.2012 15:11

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>


<div id="knopka1">knopka1</div>
<div id="knopka2" class="my_class">knopka2</div>


<script type="text/javascript">

 $(document).ready(function(){

     $("#knopka1").bind("click", function () {

        alert("Алерт Первоклик, заработает Вторая");
   
        $(".my_class").attr("id","blablabla");

        $("#knopka1").unbind('click') //Убираем событие для Первой Кнопки

    }) ;


    
     $("#blablabla").live("click", function () {

     alert("Вторая Кнопка");

     });

});
</script>

Джэксон 06.06.2012 15:35

Поставте онклик на див и всё :)

dadli 06.06.2012 16:23

ок, вот так задам вам вопрос

есть див елемент, как сделать такое: при клике на него, уничтожит её интерактивность 3 секунду, а потом автоматически вернуть её интеркативность.
ето можно например через другого дива да, то есть на клике, другои див появляется на верх первого дива и через 3 секунд верхни див удаляется, но интересно нет в js, jquery такои метод, что интерактивность елемента автоматически блокировать - снимать блокировку.

Deff 06.06.2012 16:29

dadli,
Ой выложите примерный код (А то тут мне срочно необходимо переставить инжектор селектора супозитория с аналогового ввода структуры на внешнюю оболочку )

dadli 06.06.2012 16:36

$("#my_element").bind("click", function () {
      	  //  здес сделаем  my_element не интерактивним, (то есть он не будит отвечат на слдуших  кликах) 
         
  
         
          setTimeout ( function () {
               // и нажначим taimer так, что после 3 секунда интерактивность елемента вернулос
          }, 3000);
          
      });

Deff 06.06.2012 16:47

function ReturnClick() {
      $("#my_element").bind("click", function () {
           alert("Возаврат Кликабельности")
      });
}

$("#my_element").bind("click", function () {
    alert("ПервоКлик и затык 3 сек")
   //  здесь сделаем элемента не интерактивным, (то есть он не отвечает на клики) 
   $("#my_element").unbind('click')
   setTimeout (ReturnClick(), 3000);
});

dadli 06.06.2012 17:16

спасибо :)


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