var timeoutId = 0;
$('#my_element').mousedown(function() {
timeoutId = setTimeout(my_function, 1500);
}).bind('mouseup mouseleave', function() {
clearTimeout(timeoutId);
});
Feel free to comment if you can add help to this page or point out issues and solutions you have found. I do not provide support on this site, if you need help with a problem head over to stack overflow.