我有失去的“本”嵌套javascript函数失去“这个”
if(tabNav === true){
$("." + tabNavClass).show();
tabNavItem.first().addClass("active");//active class on first li
tabNavItem.each(function(i){
$(this).attr("rel",(i + 1));
});
tabNavItem.on("click", function(e){
tabNavClick();
//this works, but i don't want it defined here. i want it in the tabNavClick() function
//var data = $(this).attr("rel");
//console.log(data);
e.preventDefault();
});
}
//tab nav function
function tabNavClick(){
// REGISTERS UNDEFINED HERE B/C LOSES SCOPE OF "THIS". FIX?!
var that = $(this);
var data = that.attr("rel");
console.log(data);
tabNavItem.removeClass("active");//remove existing active class
适当范围}嵌套函数;
我试过var that = $(this)
,但这不起作用,我不认为.call会在这种情况下工作。我如何获得以返回我想要的rel#值而不是undefined
?
它看起来像'tabNavClick'已经写的一个单击处理程序,所以为什么不注册它因此? :) – 2013-04-10 05:06:45
@Jack老实说,B/C我不知道我在做什么。我试图写我的第一个插件。我知道点击处理程序是什么,但如何注册它可以帮助我处理这种情况? – heyjohnmurray 2013-04-10 05:16:23
我在我的回答中解释了它。 – 2013-04-10 05:18:44