У меня есть событие keydown на элементе.Удалить событие keydown из jquery элемента не работает
$("#element").keydown(function() {
// do stuff!
});
Теперь я хочу его удалить.
Я пробовал unbind
и off
, но ни один из них не работает.
$("#element").unbind("click");
$("#element").off("click");
Нужно ли мне делать .on("click", function...)
или .bind("click", function...)
вместо .click
при использовании unbind
или off
. Если это так, это не мой код, и мне не разрешено изменять его, поэтому мне нужен альтернативный способ.
Есть ли какой-либо способ, отличный от «unbind» или «off», который действительно работает?
Спасибо, очень благодарен!
У меня была аналогичная проблема, как у вас в проекте некоторое время назад. Я думаю, что я добавил обработчик кликов в функции как обратный вызов. Таким образом, функция щелчка не работала снова, если я не вызвал ее с помощью другой функции. – DustinRW
@DustinRW Я не понимаю, что вы имеете в виду? –
То, что я имею в виду, это перенос вашей функции в другую функцию. Например, вы можете обернуть свою функцию _above_ в другую написанную функцию и создать набор условных выражений. 'var outerFunction = function() {if (condition met) {$ (" # element "). keydown (function() { // do stuff! }); }; 'Я просто предполагаю, что вы хотите, чтобы ваша функция вызывалась только один раз, а затем останавливалась или выполнялась только при выполнении определенных критериев. Надеюсь, моя идея понятна. – DustinRW