2012-07-31 72 views
3

我的问题很简单。我无法弄清楚如何组合两个执行相同功能的事件。

$(document).ready(function() 
{ 
//do something 
}); 

+

$("#superid a").hover(function() 
{ 
//do something the same 
}); 

如何结合它?

回答

5

如果我很好理解

$(document).ready(function() { 

    var yourfunction = function() { 
     // do something 
    } 


    $("#superid a").hover(function() { 
     yourfunction(); 
    }); 

    yourfunction(); 
}); 
+0

你的悬停功能在文件准备好了,所以你不需要再次调用该函数,没用。 – 2012-07-31 07:33:06

+2

@barlasapaydin那么你将如何在domready和悬停事件中执行一个函数?我认为你的downvote是错误的... – fcalderan 2012-07-31 07:34:22

+0

@barlasapaydin这是正确的。 (虽然你不需要domready中的函数) – Christoph 2012-07-31 07:39:26

1

创建一个新的功能,并把它作为一个回调到这两个事件。

function myAction() { ... } 
$(document).ready(myAction); 
$(...).hover(myAction); 
+0

这个问题是'hover'事件通常是在* document.ready'内部连接起来的! – Jamiec 2012-07-31 07:41:14

+0

你并不总是必须的,根据你包含脚本的地方,dom可以准备好。如果它绝对有必要等待,@F。 Calderan的回答是做到这一点的方法。 – 2012-07-31 07:45:02