2013-07-12 4 views
0

У меня есть сценарий загрузки, который при добавлении и кнопка дополнительной загрузки (работает отлично), но кнопка удалить не работаетJquery удалить класс неисправного

var i = $("#AddFileInputBox div").size() + 1; 
$("#AddMoreFileBox").click(function() { 
    event.returnValue = false; 
    if(i < MaxFileInputs) 
    { 
     $('<span><input type="file" id="fileInputBox" size="20" name="file[]" class="addedInput" value=""/><a href="#" class="removeclass small2"><img src="images/close_icon.gif" border="0" /></a></span>').appendTo(FileInputsHolder); 
     i++; 
    } 
    return false; 
}); 

$("body").on("click",".removeclass", function(e){ 
    event.returnValue = false; 
    if(i > 1) { 
      $(this).parents('span').remove();i--; 
    } 

}); 

Chrome консоли:

Uncaught TypeError: Object #<Object> has no method 'on' 

линии : 113, который

$("body").on("click",".removeclass", function(e){ 

Спасибо за любую помощь заранее

+0

ли вы попробовать '$ (" removeclass "). На (" клик", функция (е) {'? – Sergio

+0

http://api.jquery.com/click/ –

+3

Какие JQuery версии вы используете? –

ответ

4

Вы хотите обновить версию JQuery до версии 1.7, так как это было тогда, когда было введено .on(). Вот документация для .on(), которая была представлена ​​в JQuery version 1.7.

Также важно отметить, что метод .size() устарел на JQuery 1.8, пожалуйста, используйте .length.

Так что либо используйте JQuery 1.7, либо если вы хотите использовать новейшую версию JQuery, замените все экземпляры .size() на .length.

Here is a working copy of your example. (Using JQuery 1.9.1)

+0

Зачем нужен ваш код, но не OP? – adeneo

+0

Вы знаете, как работают обработчики делегированных обработчиков событий? – adeneo

+0

По крайней мере, у вас есть три upvotes на совершенно неправильный ответ, правильным ответом было бы просто обновить jQuery, по крайней мере, до версии 1.7? – adeneo

0

Я установил его возврат к Jquery 1.7, и она работала, спасибо за вашу помощь людям.

+0

Вам не нужно возвращаться к 1.7. Просто замените все экземпляры '.size()' на '.length' – Johannes

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