2016-03-18 2 views
0

Вот код:.off() не очищает любое событие

.on(clickEvent, 'button', function() { 
    console.log(Date()); 
}) 
.one(clickEvent, '.js-clear-all-actions', function() { 
    _(this) 
    .off() 
    .unbind() 
    .on(clickEvent, function(e) { 
    e.preventDefault(); 
    }) 
    .displayLoading(0); 
}) 

HTML:

<button class="large-button expand af-non-animated js-prevent-double-click" type="submit"> 
</button> 

пытается очистить все, что привязанный, но даже это событие как раз связаны, прежде чем до сих пор там. Обратите внимание: я намеренно избегаю просто отключать атрибут, поэтому, пожалуйста, просто хочу сделать работу .off().

+2

Я считаю, '.off()' требует параметр имя события в строке. Например. '.off (" click ")'. Поправьте меня, если я ошибаюсь. Он просто действует как '.unbind()'. Вы уверены, что делаете правильный? –

+0

в теории, если вы не укажете какой-либо аргумент, он должен стереть все, я тоже пробовал это btw –

+0

Можете ли вы поделиться html, с которым предполагается взаимодействовать? Это может помочь проверить селекторы (хотя они и просты). –

ответ

0

Попробуйте этот человек: http://codepen.io/anon/pen/EKZMbe?editors=1010

$("#theButton").one("click", function(e) { 
    e.preventDefault(); 
     console.log(Date()); 
    }); 

Если конечная цель, чтобы кнопка быть нажата только один раз, это может решить вашу проблему. Дайте мне знать :)

-1

, как @Karl П. Галвез отметил, что это просто обычная простая ошибка в разметке

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