onMouseOver 悬停时无法正常工作

发布于 2024-08-25 03:13:14 字数 1302 浏览 8 评论 0原文

我试图通过调用以下函数 onMouseOver

function PopUp(h) {
    $('#task_' + h).hover(function (evt) {
        var html1 = '<div id="box">';
        html1 += '<h4>Taskbar ' + h + ' ännu en test - fredagstest </h4>';
        //html += '<img src="Pictures/DesertMini.jpg" alt="image"/>';
        html1 += '<p>"Test för task nr: ' + h + ' <br/>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium asperiores repellat."</p>';
        html1 += '</div>';
        $('#test').append(html1).children('#box').hide().fadeIn(100)
        $('#box')
            .css('top', evt.pageY)
            .css('left', evt.pageX + 20)
            .css('z-index', 1000000);
        }, function () {
            // mouse out
            $('#box').remove();
        });
        $('#task_' + h).mousemove(function (evt) {
            $('#box')
                .css('top', evt.pageY)
                .css('left', evt.pageX + 20)
                .css('z-index', 1000000);
        });
    }
}

h 来在将鼠标悬停在 div 上时获得弹出窗口 h 是我发送到该函数的一些数字

<div (some attributes) onMouseOver="PopUp('+someNumber+');">

,但 onMouseOver 不起作用悬停即可 我该怎么办?

提前感谢一万亿... 莉娜

i'm trying to get a popup window when hovering a div by calling the following function onMouseOver

function PopUp(h) {
    $('#task_' + h).hover(function (evt) {
        var html1 = '<div id="box">';
        html1 += '<h4>Taskbar ' + h + ' ännu en test - fredagstest </h4>';
        //html += '<img src="Pictures/DesertMini.jpg" alt="image"/>';
        html1 += '<p>"Test för task nr: ' + h + ' <br/>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium asperiores repellat."</p>';
        html1 += '</div>';
        $('#test').append(html1).children('#box').hide().fadeIn(100)
        $('#box')
            .css('top', evt.pageY)
            .css('left', evt.pageX + 20)
            .css('z-index', 1000000);
        }, function () {
            // mouse out
            $('#box').remove();
        });
        $('#task_' + h).mousemove(function (evt) {
            $('#box')
                .css('top', evt.pageY)
                .css('left', evt.pageX + 20)
                .css('z-index', 1000000);
        });
    }
}

h is some number I'm sending to the function

<div (some attributes) onMouseOver="PopUp('+someNumber+');">

but the onMouseOver is not working fine with the hover
what do i do?

thanks a trillion in advance...
Lina

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

落叶缤纷 2024-09-01 03:13:14

您收到 JavaScript 错误吗?

您似乎还缺少以下行中的分号:

$('#test').append(html1).children('#box').hide().fadeIn(100) 

这是我使用的扩展的提示(它非常基本,但效果很好):

jQuery.fn.ToolTip =
function()
{
    return this.each(function()
    {
        $(this).mouseover(function(e)
        {
            // Grab the title attribute value and assign it to a variable
            var tip = $(this).attr('title');
            // Remove the title attribute to avoid the native tooltip from displaying
            $(this).attr('title', '');
            // Append the tooltip div
            $('body').append('<div id="tooltip_container">' + tip + '</div>');
            // Set the X and Y of the tooltip
            $('#tooltip_container').css('top', e.pageY + 10);
            $('#tooltip_container').css('left', e.pageX + 10);
        }).mousemove(function(e)
        {
            // Make the tooltip move along with the mouse
            $('#tooltip_container').css('top', e.pageY + 10);
            $('#tooltip_container').css('left', e.pageX + 10);
        }).mouseout(function()
        {
            // Put back the title attribute value
            $(this).attr('title', $('#tooltip_container').html());
            // Remove the appended tooltip template
            $('body').children('div#tooltip_container').remove();
        });
    })
};

然后用法是:

<img ID="someImageWithHover" src="someImage.jpg" title="Tip I want to show!" />

$('#someImageWithHover').ToolTip();

工具提示的 Css:

#tooltip_container
{   
    position:absolute;   
    z-index:9999;   
    color: #000000;
    background: #eaf2fa;
    width:240px; 
    padding: 4px 8px;
    margin: 0;
    border: 2px solid #2F4F88;
}

您只需要存储您想要的任何 html想要在悬停工具提示中显示,在触发悬停的控件的 title 属性中。

希望这有帮助。

Are you getting a javascript error?

You seem to be missing a semi-colon on the following line as well:

$('#test').append(html1).children('#box').hide().fadeIn(100) 

Here is a hint over extension I use (it's quite basic but works well):

jQuery.fn.ToolTip =
function()
{
    return this.each(function()
    {
        $(this).mouseover(function(e)
        {
            // Grab the title attribute value and assign it to a variable
            var tip = $(this).attr('title');
            // Remove the title attribute to avoid the native tooltip from displaying
            $(this).attr('title', '');
            // Append the tooltip div
            $('body').append('<div id="tooltip_container">' + tip + '</div>');
            // Set the X and Y of the tooltip
            $('#tooltip_container').css('top', e.pageY + 10);
            $('#tooltip_container').css('left', e.pageX + 10);
        }).mousemove(function(e)
        {
            // Make the tooltip move along with the mouse
            $('#tooltip_container').css('top', e.pageY + 10);
            $('#tooltip_container').css('left', e.pageX + 10);
        }).mouseout(function()
        {
            // Put back the title attribute value
            $(this).attr('title', $('#tooltip_container').html());
            // Remove the appended tooltip template
            $('body').children('div#tooltip_container').remove();
        });
    })
};

Then useage is:

<img ID="someImageWithHover" src="someImage.jpg" title="Tip I want to show!" />

$('#someImageWithHover').ToolTip();

Css for the tooltip:

#tooltip_container
{   
    position:absolute;   
    z-index:9999;   
    color: #000000;
    background: #eaf2fa;
    width:240px; 
    padding: 4px 8px;
    margin: 0;
    border: 2px solid #2F4F88;
}

You just need to store whatever html you want to show in the hover tooltip, in the title attribute of the control triggering the hover.

Hope this helps.

剑心龙吟 2024-09-01 03:13:14

为什么不将弹出功能附加到div的悬停效果上?
假设 div 的 id 为“popups”。

$('#popups').hover(function(){
    // your task hover
});

Why not attach the popup function to the div's hover effect?
Assuming the div has id "popups".

$('#popups').hover(function(){
    // your task hover
});
┾廆蒐ゝ 2024-09-01 03:13:14

这是一个简单的示例 - 看看您是否注意到自己的做法有所不同

Hover Over Me

$('#box').hover(
  function(evt){
    // code
  }
);

Here's a simple example-- see if you notice what you're doing differently

<div id="box">Hover Over Me</div>

$('#box').hover(
  function(evt){
    // code
  }
);
来世叙缘 2024-09-01 03:13:14

感谢您的回答:)

我通过使用jquery提示提示解决了这个问题,它更灵活,更实用。 + 我在外部 div 上添加了另一个内部 div,因此代码现在如下所示:

<div id="task_" + dynamicNumber> <div onMouseOver="PopUp(" + dynamicNumber + ");"> </div> </div>

 function PopUp(h) {
           $('#task_' + h).attr('title', '|id= ' + h + '  hello!');
           $('#task_' + h).cluetip({
               splitTitle: '|',
               showTitle: false,
               positionBy: 'mouse',
               cursor: 'pointer',
               cluezIndex: 500000
           });
       } //end PopUp()

Thanks for your answers :)

I solved the issue by using jquery cluetip which is much more flexible and more practical. + i added another inner div to the outer one, so the code now looks like this:

<div id="task_" + dynamicNumber> <div onMouseOver="PopUp(" + dynamicNumber + ");"> </div> </div>

 function PopUp(h) {
           $('#task_' + h).attr('title', '|id= ' + h + '  hello!');
           $('#task_' + h).cluetip({
               splitTitle: '|',
               showTitle: false,
               positionBy: 'mouse',
               cursor: 'pointer',
               cluezIndex: 500000
           });
       } //end PopUp()
等往事风中吹 2024-09-01 03:13:14

使用 jQuery.bind() 或 jQuery.live()。

Use jQuery.bind() or jQuery.live().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文