var timeoutId = 0; $('#my_element').mousedown(function() { timeoutId = setTimeout(my_function, 1500); }).bind('mouseup mouseleave', function() { clearTimeout(timeoutId); });