当我将鼠标悬停在某个对象上时,我希望触发一个事件。 当我尝试使用jquery的mouseuner或mouseover时,事件在页面加载时触发一次,并且当我将鼠标悬停在图像或图像框上时不触发
我的代码如下。我真的不明白发生了什么。 谢谢。
<!DOCTYPE html>
<html>
<head>
<script src="jquery-1.9.1.min.js">
</script>
<script>
var img = '';
var offset_const = 0.03;
var timer = '';
$(document).ready(function(){
function init(obj, image, psize){
var height = obj.height();
//obj.height(1000);
var imageId = 'vtourImg';
img = $('<img id="'+ imageId +'">');
img.attr('src', image);
img.attr('height', height);
obj.append(img);
//$(obj).mouseenter(function(e){setInterval(function(e){scroller(e);}, 1000);});
}
function scroller(e){
//setTimeout(scroller(e), 10000);
var x = e.pageX - this.offsetLeft;
var y = e.pageY - this.offsetTop;
var midX = $(this).width() / 2;
var current_offsetX = img.offset().left;
var offsetX_add = offset_const * -1 * (x - midX);
var offsetX = 0;
offsetX = current_offsetX + offsetX_add;
img.offset({left: offsetX });
}
init($('#vtour'), 'virtualtour4.jpg', 0.00);
img.mouseenter(alert('test'));
});
</script>
</head>
<body>
<div id="vtour" style="width:500px;height:500px;border:3px black solid;overflow:hidden;"></div>
</body>
</html>
答案 0 :(得分:4)
您需要将函数传递给mouseenter
方法:
img.mouseenter(function(){alert('test')});
现在,您输入后将立即执行匿名功能。就像你拥有它一样,你在页面加载时执行了alert('test')
,但从未将任何函数传递给事件处理程序。