2016-03-30 2 views
2

Я пытаюсь слишком взлетать событие только от this элемента, если я пытаюсь $(this).off('event'); они взлетают событие из всех элементов и $(this).off('click'); не работаютJquery отключено от одного элемента

$(document).on('click', '.text', function (event) { 
    var box = "<div class = 'box'></div>"; 
    $(box).insertAfter("#body"); 
    $(this).off('event'); 
}); 
+0

$ (this) .off (event); * – John

+1

Если вам нужно использовать делегирование событий, подумайте об удалении класса '.text' из текущего элемента. Взгляните сюда http://stackoverflow.com/questions/30512253/remove-jquery-delegated-event-handler-on-specific-object –

+0

ohhh, теперь я понимаю логику, мне нужно удалить класс или id, а затем, если Я хочу, чтобы пользователь снова нажал на этот элемент, я просто положил класс или id обратно – John

ответ

0

Try:

$(document).on('click', '.text', myEventHandler); 

function myEventHandler(e){ 
    $(this).off('click', myEventHandler); 
    var box = "<div class = 'box'></div>"; 
    $(box).insertAfter("#body"); 
}