2015-03-17 8 views
0

У меня есть эта функция для кнопки удаления (для удаления на основе того, что я нажимаю), и она работает, но когда я нажал на другую кнопку, она выполняет функцию удаления, которую не должен делать. как я могу предотвратить влияние на другую кнопку?Onclick remove влияет на другую кнопку

function myDelete() 
{ 
    $(document).on('click', '.item', function(){ 
     $(this).remove(); 
     var sum = 0; 
    }); 
} 
+1

как 'myDelete' называется? –

+1

Проблема в том, что вы привязываете обработчик к объекту doucment. –

+1

Вы можете изменить класс документа. поскольку теперь он удаляет класс .item. –

ответ

1

Вам лучше привязать событие 'click' к определенному объекту dom, а не к объекту документа.

Пожалуйста, попробуйте этот код:

function myDelete() 
{ 
    $('.item').on('click', function(){ 
     $(this).remove(); 
     var sum = 0; 
    }); 
} 

Кроме того, это выглядит странно для меня, что вы должны обернуть это в функции. Простая обертка (эквивалент «на йот нагрузки») должно быть достаточно в большинстве случаев:

$(function(){ 
    // you code here such as : 
    $('.item').on('click', function(){ 
     $(this).remove(); 
     var sum = 0; 
    }); 
}); 
+0

вы также можете использовать '$ ('. Item'). Click (function() {...});' поскольку его проще писать, imho – kartsims

0

Лучше поставить функцию внутри $(document).ready(). Для удаления кнопки нажата, вы можете сделать это:

$(document).ready(functio(){ 
     $(document).on('click', '.item', function(){ 
     $(this).remove(); 
     var sum = 0; 
    }); 

}); 

Или, вы можете сделать это:

<button class="item" onclick="myDelete(this)">Button</button> 

function myDelete(element) 
{ 
    $(element).remove(); 
    var sum = 0; 
} 
0

просто связать ваше событие щелчка с классом assosiates с ним. Не нужно обертывать его другой функцией.

$('.item').on('click', function(){ 
    $(this).remove(); 
    var sum = 0; 
}); 
0
<button class="item">Other Button</button> 

<button onclick="myDelete(this)">Button</button> 

function myDelete() 
{ 
    $('.item').remove(); 
    var sum = 0; 
} 
Смежные вопросы