javascript - Toggling a function that depends on a button state? -
i'm trying turn button-click toggle enables or disables function, depending on state. function allows enter key used form submission.
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') // need add here stop 'enterkeypress()'? } else { console.log('enter toggle true') enterkeypress(); } }); } function enterkeypress() { $('#notetext').keypress(function(e){ if(e.which == 13){ $('#notebutton').click(); } }); } entertogglelistener($('#toggle-button'));
what don't understand how stop enterkeypress()
function when entertoggle
false. suggestions?
edit: cleaned-up code, @james montagne's answer added
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'));
function enterkeypress() { $('#notetext').keypress(function(e){ if(entertoggle && e.which == 13){ $('#notebutton').click(); } }); }
you can check value of variable within handler. way don't need keep adding , removing handler seems current approach.
however, if must add , remove reason, use off.
Comments
Post a Comment