我有一个功能,打开引导模式时,点击
div
它将在元素周围显示css焦点,而无需在中执行函数
onclick
方法,直到我第二次单击它。因此,我尝试使用下面的代码来检测对元素的任何单击,但长按除外,我认为这会有所帮助。当我单击函数执行一次时,一切都很好,但总是执行多次,它内部有ajax请求,也发送多次。
var longpress = 3000;
var start;
$(document).on( 'mousedown focusIn', '.openIt', function( event ) {
start = new Date().getTime();
});
$(document).on( 'mouseleave focusOut', '.openIt', function( event ) {
start = 0;
});
$(document).on("click mouseup", '.openIt', function(event){
if ( new Date().getTime() >= ( start + longpress ) ) {
console.log(event.type, " is long press!");
} else {
//$.myfynctionHere({.......});
console.log(event.type, " is short press!");
}
event.preventDefault();
});
.openIt{
color: #fff;
background-color: #000;
height: 30px;
width: 50%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="openIt">Open Item</div>