我昨天发布了一个问题,然后删除它,认为我已经认为我的代码的这部分没有任何问题。但是,测试之后似乎仍然存在问题。针对所有的课程,只选择被点击的元素
在下面的代码中我想$(this)
选择只有被点击的元素,而不是我所针对的所有类。但是,控制台日志2,3,4等...不是1!
基本上我需要将类“动作”添加到单击的元素。感谢任何帮助!
$("body").on("mousedown", ".moveable", function(e){
var clickX = mouseX;
var clickY = mouseY;
$(this).addClass("action");
console.log($(".action").length);
inX = clickX - $(".action").position().left;
inY = clickY - $(".action").position().top;
timeout = setInterval(function(){
$(".action").css("left", clickX + (mouseX - clickX) - inX);
$(".action").css("top", clickY + (mouseY - clickY) - inY);
}, 10);
return false;
});
我知道我可以使用$(".moveable").on("mousedown", function() {...});
,$(this)
则目标仅仅是点击的元素的“可移动的”类,但我需要的触发事件,动态地添加的元素,因此我结合在我的方式活动。也许我这样做的方式是问题?
我希望你能帮忙!
Mike
This Works,thanks。你能解释一下吗?这是我添加类的第一个实例(我会在mouseup上删除它),那么为什么在添加类之前删除类? – Mike
如果你有正确的mouseup逻辑它不应该是一个问题....也不要忘记清除定时器....找出为什么你的代码不工作,你需要分享更多的上下文 –
@Mike可以你在http://jsfiddle.net/arunpjohny/85vqfenh/2/ –