1

我正在尝试同时将悬停事件分配给 2 个元素。有没有更好的方法来做到这一点?

//I want to assign hover to another element.

$element1=$('hi');
$element2=$('hi2');


//I need to assign element 1 and element 2 to the same hover function... 
   $element1.hover(function(e){

       codes......

   })

感谢您的帮助。

4

4 回答 4

3

试试这个,

现场演示

$element1.add($element2).hover(function(e){

   codes......

 });

或者

$('hi, hi2').hover(function(e){

   codes......

 });

或者如果你想通过 ids 而不是 hi

 $('#hi, #hi2')hover(function(e){

   codes......

 });
于 2012-08-17T21:00:43.153 回答
3

如果 hi 和 hi2 是实际元素,则:

$('hi,hi2').hover(...

我的意思是实际元素

$('div,p').hover(...

会起作用,但是根据您的示例,我无法分辨是什么hihi2因为它们不是元素、类、ID 或其他可识别的东西。

于 2012-08-17T21:01:59.080 回答
2

因此,假设这些是您要将悬停绑定到的元素:

<div class="yay-for-hover">a</div>
<div class="yay-for-hover">b</div>
<div class="yay-for-hover">c</div>

你可以在你的 jQuery 中绑定这个选择器:

$('.yay-for-hover').hover(function() {
    // Do stuff here.
});

我只是选择了类选择器,因为对我来说,它们在这里最有意义。如果您希望页面上的元素触发悬停事件,只需将类添加到它。查看关于选择器的 jQuery 参考以获得更多帮助。

于 2012-08-17T21:03:11.107 回答
0

您可以使用.add()方法,它从这些元素的并集和传递给方法的元素构造一个新的 jQuery 对象,这意味着您可以将新的元素集存储在变量中或直接使用它,就像这样:

var $element1=$('hi'),
    $element2=$('hi2');

$element1.add($element2).hover(function(e){

   codes......

});
于 2012-08-17T21:08:19.363 回答