短押しで 1 つのイベントを実装し、長押しで別のイベントを実装しようとしています。短く押すと、デフォルトのアクションが実行されます。長押しは機能しますが、デフォルトのアクションも実行します。私は何が欠けていますか?
HTML
<a href="http://myLocation" class="recordlongpress"><"Label for my Link"</a>
Javascript
$(document).ready(function(){
$('.recordlongpress').each(function() {
var timeout, longtouch;
$(this).mousedown(function() {
timeout = setTimeout(function() {
longtouch = true;
}, 1000);
}).mouseup(function(e) {
if (longtouch) {
e.preventDefault();
$('#popupPanel').popup("open");
return false;
} else {
return;
}
longtouch = false;
clearTimeout(timeout);
});
});
});
私はjQueryのドキュメントに従いましたが、「preventDefault」は短押しのデフォルトアクションを停止する必要があるという印象を受けました。私がオンラインで見つけた例は、まさに私の状況ではないようです。時間を割いて読んでいただきありがとうございます。ご意見ありがとうございます。