これを試して:http://jsfiddle.net/uPZuJ/22/ http://jsfiddle.net/uPZuJ/25/
仕組みは次のとおりです。
- 'down'をfalseに初期化します
 
- ボタンをマウスダウンすると、「下」が真になります
 
- マウスアップ/クリックで、「down」がtrueの場合、テキスト「click」を追加し、「down」をfalseに設定します
 
クリックするとクリックがトリガーされます。
テキストをパディングにドラッグすると、クリックがトリガーされます。
パディングをテキストにドラッグすると、クリックがトリガーされます。
内側から外側にドラッグしてもクリックは発生しません。
外側から内側にドラッグしてもクリックは発生しません。
コードは次のとおりです。
var down=false;
$("button").mousedown(function() {
    down=true;
});
$("button").mouseup(function() {
    if(down) {
        $("#clicks").append("<div>click</div>");
    }
    down=false;
});
$("button").click(function() {
    if(down) {
        $("#clicks").append("<div>click</div>");
    }
    down=false;
});