2013-12-10 2 views
0

Как удалить атрибут onclick функции javascript (разрешен).Удалить атрибут javascript функции onclick?

+0

Не глядя на свой код, '_button [k] .onclick = function() {return false; }, может быть? Вы должны назначить функцию '.onclick'. '_button [k] .onclick = return false' - это просто синтаксическая ошибка. –

ответ

0

Есть две проблемы в коде,

  1. синтаксическая ошибка в назначении _button[k].onclick = return false, он должен быть обернут в функции как _button[k].onclick = function() {return false} вместо этого вы можете просто удалить onclick свойство.
  2. Неправильное использование closure variable in a loop, когда обработчик OnClick называется k будет равно _button.length так _button[k] вернет неопределенные, который выдаст ошибку говоря не удалось открыть свойство onclick неопределенные.

Попробуйте

for (var k = 0; k < _button.length; k++) { 
    _button[k].onclick = function (e) { 
     _counter++; 

     if (_counter > _sArray.length - 1) { 
      //here this refers to the button 
      delete this.onclick; 
      //the button and the element with said class are the same so you can use this.innerHTML to set the text 
      this.innerHTML = 'Done'; 
     } else { 
      update(); 
     }; 

     e.preventDefault(); 
     return false; 
    }; 
}; 
0

С JQuery следующий будет удалить атрибут onclick от кнопки: $("#buttonId").removeAttr("onclick"), где buttonId является id атрибутом кнопки.

Смежные вопросы