Я пытаюсь повернуть кнопку-щелчок в переключатель, который включает или отключает функцию в зависимости от ее состояния. Функция позволяет использовать ключ ввода для отправки формы.Переключение функции, которая зависит от состояния кнопки?
var enterToggle = true;
function enterToggleListener(elem) {
enterKeyPress();
elem.click(function() {
enterToggle = !enterToggle;
console.log('enter-toggle clicked')
if (enterToggle === false) {
console.log('enter toggle false')
// What do I need to add here to stop 'enterKeyPress()'?
} else {
console.log('enter toggle true')
enterKeyPress();
}
});
}
function enterKeyPress() {
$('#noteText').keypress(function(e){
if(e.which == 13){
$('#noteButton').click();
}
});
}
enterToggleListener($('#toggle-button'));
То, что я не понимаю, как остановить функцию enterKeyPress()
когда enterToggle
ложно. Какие-либо предложения?
EDIT: Очищенные вверх код, с ответом @James Montagne добавил
var enterToggle = true;
function enterToggleListener(elem) {
elem.click(function() {
enterToggle = !enterToggle;
if (enterToggle === false) {
$('#enter-toggle').text('Enter key saves note (OFF)')
} else {
$('#enter-toggle').text('Enter key saves note (ON)')
}
});
}
function enterKeyPress() {
$('#noteText').keypress(function(e){
if(enterToggle && e.which == 13){
$('#noteButton').click();
}
});
}
enterKeyPress();
enterToggleListener($('#enter-toggle'));
Нельзя связывать события внутри других обработчиков событий – Ian