2012-07-11 24 views
0

我真的很陌生的JavaScript对象。如何在javascript对象中调用jquery事件?

这里是我的代码:

(function(){ 
var homenavmenu = { 
    nav:$('.navMenuButton'), 
    target:$(this).attr('href'), 
    test:function(){ 
     // alert(homenavmenu.target) 
     homenavmenu.nav.click(function(){ 
      alert(1); 
      return false; 
     }) 
    } 
} 

homenavmenu.test(); 
})() 

为什么它不工作?它不会alert(1);

这里是我的HTML:

<div class="navMenu"> 
    <a href="../market" class="navMenuButton" id="mo">market</a> 
    <a href="../unit" class="navMenuButton" id="unit">my</a> 
</div> 
+0

显示你的html以及man,?你的功能确实显示没有'homenavmenu ...'的警报。 – 2012-07-11 05:01:51

+0

它应该很好http://jsfiddle.net/aWgqk/ – Bob 2012-07-11 05:04:53

+0

你在你的dom就绪方法的前面缺少你的'$':) – nbrooks 2012-07-11 05:11:18

回答

2

工作演示http://jsfiddle.net/5JmdD/3/

请检查您的HTML再次,演示正在与你所需要的。

行为:点击按钮,你会得到警报。

希望这有助于:)

代码

$(function(){ 
var homenavmenu = { 
    nav:$('.navMenuButton'), 
    target:$(this).attr('href'), 
    test:function(){ 
     // alert(homenavmenu.target) 
     homenavmenu.nav.click(function(){ 
      alert(1); 
      return false; 
     }) 
    } 
} 

homenavmenu.test(); 
})()​ 

HTML

<input type="button" value="hulk" class="navMenuButton" />​ 
+0

与我的HTML不工作,点击后页面重新加载到HREF,仍然不会提示 – paynestrike 2012-07-11 05:11:56

+0

@chenliang不用担心男人': )'flick你html或更好,但它在jsfiddle中查找我会看看, – 2012-07-11 05:13:03

+0

非常感谢你在这里http://jsfiddle.net/chenliang/JRwY2/ – paynestrike 2012-07-11 05:20:27

0

OK好像你不能使用

nav:$('.navMenuButton'), 

应该使用

nav:'.navMenuButton', 

调用作为

$(homenavmenu.nav).click(function(){ 
    alert(1) 
}) 

这为我工作,但我不知道为什么它的工作在上面的例子中。

相关问题