これを試して: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;
});