How to combine keypress & on click function in JavaScript?

I would chain the events like:

        var watchCurrentCursorPosition = function (){
            console.log("foo");
        }
        $("input").keypress(
            watchCurrentCursorPosition

        ).click(
            watchCurrentCursorPosition
        );

Add a class to your HTML

<input class="myClass">
<div id="login_submit" class="myClass" ></div>

Now you can write:

$(".myClass").bind("keypress click", function(){});

Or do this:

$("input").add("#login_submit").bind("keypress click", function(){});

Be aware that clicking on the input will also trigger this.


Why don't you do it like this?

$("input").keypress(function(event) {
    if (event.which == 13) {
        foospace.yourfunction();
    }       
});

$('#login_submit').click(function () {        
    foospace.yourfunction();                    
});

var foospace={}; 
foospace.yourfunction=function() { 
    alert("your code goes here!"); 
}

Edit:

The callback solution by @David is slightly more elegant.


Create your own callback and pass that to the event handlers.

var callback = function() {...};

$("input").keypress(function() {
    if (event.which == 13) callback();
});

$('#login_submit').click(callback);