добавление функции jConfrim breaks - PullRequest
0 голосов
/ 06 августа 2010

Я пытаюсь добавить окно подтверждения к этому коду:

$('.widget .remove').live('click', function() { //Remove widget from layout
  $(this).closest('.widget').fadeOut('fast', function() {
    $(this).remove();
    saveLayout(false);
  });
  return false;
});

Вот что я сделал:

$('.widget .remove').live('click', function() { //Remove widget from layout
jConfirm('Are you sure you want to remove this widget?','Are you sure?',function(r){
  if(r)
  {
      $(this).closest('.widget').fadeOut('fast', function() {
        $(this).remove();
        saveLayout(false);
      });
      return false;
  }
  });
});

До того, как я начал заниматься этим, функция удаления работала отлично, теперь она ничего не делает. Я знаю, что if (r) выполняется, потому что я помещал тестовое предупреждение («сообщения») в код, когда я тестировал его. Я недостаточно знаю о jquery (или java-скрипте), чтобы понять, что происходит не так. Помощь

1 Ответ

1 голос
/ 06 августа 2010

Функция this в основной функции отличалась от функции this в jConfirm.

 var $this=$(this);

, а затем замена каждого (этого) в jConfirm решила ее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...