首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery的函数by action在页面加载时启动

Jquery的函数by action在页面加载时启动
EN

Stack Overflow用户
提问于 2012-03-10 14:40:32
回答 2查看 94关注 0票数 0

我可以这样做:

代码语言:javascript
复制
$("#icon").live("hover",
    function() 
    {
        var position = $(this).offset();
        $('#popup').css({top: position.top - 10, left: position.left + 20}).toggle();
    },
    function()
    {
        $('#popup').toggle();
    }
);

但这一点:

代码语言:javascript
复制
function show_popup(element)
{
    var position = element.offset();
    $('#popup').css({top: position.top - 10, left: position.left + 20}).toggle();
}
$("#icon").live("hover",
    show_popup($(this)),
    function()
    {
        $('#popup').toggle();
    }
);

页面加载时出现错误position is null

为什么它在页面加载时运行show_popup()?这段代码有什么问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-10 14:44:48

这一点:

代码语言:javascript
复制
show_popup($(this))

是一个函数调用,所以当live被设置为执行时,它将被执行,你只想在里面有一个函数。当show_popup($(this))被执行时,this可能是window,而window没有偏移量,这意味着你在show_popup中的position将是null,这就是你的错误消息。还要注意,这种方法试图将show_popup (将是undefined)的返回值绑定为jQuery回调,这显然不是您的意图。

你想要这样的东西:

代码语言:javascript
复制
$("#icon").live("hover",
    function() { show_popup($(this)) },
    function()
    {
        $('#popup').toggle();
    }
);

或者是这样的:

代码语言:javascript
复制
function show_popup()
{
    var position = $(this).offset();
    $('#popup').css({top: position.top - 10, left: position.left + 20}).toggle();
}
$("#icon").live("hover",
    show_popup,
    function()
    {
        $('#popup').toggle();
    }
);

在这种情况下,在调用show_popup时总是需要提供适当的上下文,所以如果您想要调用show_popup anywhere而不是jQuery回调,那么您需要做很多像show_popup.call(some_dom_element)这样的事情。

票数 0
EN

Stack Overflow用户

发布于 2012-03-10 14:46:26

“element”的用法。在这种情况下是无效的。使位置变得不可用。如果你做了像这样的事情

代码语言:javascript
复制
var position = $('#'+element).offset();

这可能有助于解决这个问题。注意:我在前面加上了一个"id“(#)选择器,而不是一个"class”(.)选择器,当然你也可以对其进行相应的编辑

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9644480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档