2015-08-18 89 views
0

我正在学习jQuery和我有一些麻烦此代码工作:jQuery的。对对象

$(function() { 
    $('body').on ({ 
     'mouseenter' : { /////// PROBLEMS! 
      '.nav' : function() { 
       $(this).fadeTo('fast', .50); 
      } 
     } 
    }); 
}); 

我的问题是与导航类。我猜我没有正确指定它作为body元素的子元素。有什么建议么?

回答

3

你的问题是,你没有得到语法jQuery.on()

API Documentation

。对(事件[,选择] [数据] ,处理程序)

因此..在你的例子中,你传递给jQuery.on()只有一个参数:一个对象有一个键(“mouseenter”)和另一个对象,因为它的值。

你的情况的正确语法应该是这样的:基于以下@ jfriend00的评论

$(function() { 
    $('body').on ('mouseenter', '.nav', function() { 
     $(this).fadeTo('fast', .50); 
    }); 
}); 

希望它可以帮助...


[编辑],这里是一个替代看起来更像OP问题(虽然我认为第一种选择更清楚)

$(function() { 
    $('body').on ({ 
     'mouseenter': function() { 
      $(this).fadeTo('fast', .50); 
     } 
    }, '.nav'); 
}); 
+0

有一个版本的'.on()'[接受第一个参数的对象](http://api.jquery.com/on/#on-events-selector-data),但OP不是正确使用它。 – jfriend00

0

尝试:

$('body').on('mouseenter', '.nav', function() { 
    $(this).fadeTo('fast', 0.5); 
});