我想在焦点触发后只做一次mouseleave。怎么样? 我尝试了几个选项,如off,preventDefault,stopPropagation,return false;但没有一个有效。
提前谢谢。
addEvent(date, 'focus', function () {
console.log("focuz" + this.innerHTML);
document.designMode = 'on';
addEvent(swap_date, 'mouseleave', function (e) {
console.log("mouseleave" + this.innerHTML);
//document.designMode = 'on';
$(this).off(e);
e.preventDefault();
e.stopPropagation();
return false;
});
});
答案 0 :(得分:0)
设置一个标志,并在该标志的基础上执行你的功能,
试试这个
let position = CLLocationCoordinate2D(latitude: 10, longitude: 10)
let marker = GMSMarker(position: position)
marker.title = "Hello World"
marker.map = mapView
答案 1 :(得分:0)
在mouseenter事件中修复,以使用stop var触发检查。 一旦mouseleave发生,停止就会开启。
addEvent(swap_date, 'mouseenter', function () {
stop = false;
});
addEvent(swap_date, 'focus', function () {
document.designMode = 'on';
if (this.innerHTML != "") {
$(document).ready(function () {
$('.swapDate').bind('mouseleave', function (event) {
if (!stop && this.innerHTML != "")
checkDate(this.innerHTML);
stop = true;
$('.swapDate').unbind('mouseleave');
});
});
}
});