1

当我将鼠标悬停在对象上时,我希望触发一个事件。当我尝试使用 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>
4

1 回答 1

4

您需要将一个函数传递给该mouseenter方法:

img.mouseenter(function(){alert('test')});

现在匿名函数将在您输入后立即执行。正如您所拥有的,您alert('test')在页面加载时执行,但从未将任何函数传递给事件处理程序。

于 2013-03-22T22:46:28.550 回答