Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Конфликт функций (https://javascript.ru/forum/jquery/20890-konflikt-funkcijj.html)

NeoMurderer 21.08.2011 18:16

Конфликт функций
 
У меня на странице есть конфликт функций,наверно из-за динамической смены id у элемента.Выглядят примерно так
$("#edit").click(function(event){
$("#newlist").attr("id","updatelist");
});
$("#newlist").click(function(event){
alert('Текст2');
});

$("#updatelist").click(function(event){
alert('Текст');
});

Думаю суть понятна,так проблема в том что если нажать на #edit то все равно выполняется #newlist

B@rmaley.e><e 21.08.2011 18:30

Конечно, ведь Вы уже навесили обработчики событий. $(selector) не более, чем способ получить элемент в данный момент.

Вам поможет jQuery.live или пересмотр алгоритма.

nikita.mmf 21.08.2011 20:54

Вообще непонятнозачем менять id, есть нормальное решение без смены id( смена id это плохо так как вызывает событие reflow). Можно сделать например так:
var isEdit = false;
$("#edit").click(function( e ){
  isEdit = true;
});
$("#newlist").click(function( e ){
  if ( isEdit ) {
    alert( "current status: edit" );
  } else {
    alert( "current status: read" );
  }
});

NeoMurderer 21.08.2011 22:06

Ок,попробую


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