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

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -