我有以下功能:
div_paper.onmousedown = function(event) {
var mouseCoords = getCoords(event);
startX = mouseCoords.x - offset[0];
startY = mouseCoords.y - offset[1];
rect = paper.rect(startX, startY, 0, 0);
document.onmousemove = doDraw;
// the function below i would like to fire once
rect.drag(drag_move, drag_start, drag_up);
};
如您所见,每次鼠标按下时都会触发。我只想在第一次鼠标按下后触发一次 drag
函数。我应该使用 jQuery .one()
吗?
提前致谢。
最佳答案
这是即兴的,但你可以尝试:
var dragged = false;
div_paper.onmousedown = function(event) {
var mouseCoords = getCoords(event);
startX = mouseCoords.x - offset[0];
startY = mouseCoords.y - offset[1];
rect = paper.rect(startX, startY, 0, 0);
document.onmousemove = doDraw;
// the function below i would like to fire once
if (!dragged)
{
dragged = true;
rect.drag(drag_move, drag_start, drag_up);
}
};
关于javascript - 在其他函数中仅执行一次函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17221848/