2012-07-11 26 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) 
}) 

這爲我工作,但我不知道爲什麼它的工作在上面的例子中。

相關問題