Jquery mouseover函数未启动

Jquery mouseover function not firing

本文关键字:启动 函数 mouseover Jquery      更新时间:2023-09-26

我有这个Jquery代码:

$(document).ready(function() {
    // Do menu mouseovers
    $('.bar a').each(function() {
        var Link = $(this);
        var LinkID = Link.attr("ID");
        $('.menu-pop').each(function() {
            var PopID = $(this).attr("data-for");
            // We have found a match, assign events
            if (PopID == LinkID) {
                Link.mouseover = (function() {
                    alert("trucks lol");
                });
                return;
            }
        });
    });
});

这是我正在写的弹出菜单。菜单的简化结构为:

<div class="bar">
    <a class="item">Home</a>
    <a class="item" id="mnuAnother">Another Link</a>
</div>
<div class="menu-pop" data-for="mnuAnother">
    Links and stuff
</div>

我希望它在我的鼠标越过"另一个"链接时发出警报,但目前它没有发出错误/警报。

感谢您的帮助。

你试过吗

Link.mouseover(function() {
  alert("trucks lol");
});

(使用jQuery的mouseover函数,这是绑定mouseover事件的快捷方式)

请参阅:http://jsfiddle.net/rQ72v/

更改此项:

Link.mouseover = (function() {
    alert("trucks lol");
});

到此:

Link.mouseover(function() {
    alert("trucks lol");
});

Link.mouseover =实际上没有任何意义。

也许Link.onmouseover =在原始JavaScript方面可以工作(或者您需要Link[0].onmouseover =吗?)。

但是,使用jQuery的.mouseover()要好得多。

我会更换

// ...
$('.bar a').each(function() {
    var Link = $(this);
// ...

通过某种线路

// ...
$('.bar a').each(function(item) {
    var Link = $(item);
// ...