使用mousemove不会触发悬停

时间:2015-09-25 22:34:51

标签: javascript jquery html css

这是关于我之前的问题: absolute Div keeps on flickering if i move my mouse

我通过在鼠标指针和div之间添加一些距离来解决我的问题,所以我现在将保留该解决方案。

我正处于实施的下一阶段:

我想要发生的是从服务器进行for element in "${my_array[@]}" do echo "${element}" done 来电,设置div的html,具体取决于它的图像的值/内容(?) 鼠标输入$.ajax

这是我最初的尝试:

img

我决定使用var $divt = $('div#test') $('img#sorc').on({ hover: function (e) { alert('enter'); //wont work }, mousemove: function (e) { $divt.css({ 'display': 'block', 'top': e.pageY, 'left': e.pageX + 15 }); }, mouseleave: function () { $divt.css('display', 'none'); } }); ,以便只有在用户的鼠标输入hover后才能进行ajax调用,但我没有得到该结果,并且警告框是甚至没有触发。我可以做一些事情,比如用服务器的数据预加载div,但我想让我的代码动态和可重用,所以我不会硬编码任何东西。我只想执行一次ajax调用,而不是每次用户在图像周围移动鼠标时。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

如果你的目的是当mousein执行$ .ajax并测量框中的x,y时,当mouseout执行css更改并且不再测量x,y时,这可能会有所帮助:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<script type="text/javascript" src="./jquery-1.11.3.min.js"></script>
</head>
<body>
	<img id="sorc" src="./1.jpg" alt="">
	<script type="text/javascript">
		$("img#sorc").hover(function() {
			alert("in") ;
			$("img#sorc").mousemove(function(e) {
				console.log(e.pageX) ;
				console.log(e.pageY) ;
			});
		}, function() {
			alert("out") ;
			$("img#sorc").unbind(onmousemove) ;
		});
	</script>
</body>
</html>