That’s because a click is a mousedown followed by a mouseup. My suggestion is to check getSelection inside the click handler. If it’s set, then you selected something, else you just clicked.
$('#click').click(function() {
var sel = getSelection().toString();
if(!sel){
alert("clicked");
}
});
DEMO: http://jsfiddle.net/ym5JX/3/