我在这里要做的是在使用 MooTools 提交表单后显示一个跟随光标的加载框。但是,我已将问题简化为 1 个 div 和 1 个表单。
脚本:
document.addEvent('domready', function(){
$('test_form').addEvent('submit', function(){
var box = $('box');
document.addEvent('mousemove', function(e){
box.setStyles({
top: e.page.y,
left: e.page.x
});
});
box.setStyle('display', 'block');
return false;
});
});
html:
<div id="box">
</div>
<form id="test_form" action="">
<label>Name: </label><input type="text" name="name" /><br/>
<input type="submit" value="Submit" />
</form>
CSS:
#box {
width: 50px;
height: 50px;
background-color: blue;
position: absolute;
display: none;
}
#test_form {
margin-left: 150px;
}
当表单提交时,它会显示隐藏的蓝色 div 并跟随光标。但是,提交表单时,我无法使 div 出现在鼠标位置。在我们移动鼠标之前,'mousemove' 不会触发;因此,蓝色 div 在显示后立即出现在位置 (0,0)。有没有办法在提交表单后立即获取鼠标位置?还是有其他方法可以做到这一点?
非常感谢任何建议!
更新:
我不想在提交表单之前添加鼠标事件(mousemove)。原因很简单,因为我不希望 javascript 在不需要时继续检查鼠标位置。尽量避免性能问题!