2011-09-26 187 views
1

我有以下的js文件:爲什麼我的按鈕點擊事件沒有被觸發?

var IOMaximizeButton = { 
setup: function() { 
    $(this).click(function(){ 
     console.log("maximize button was clicked!"); 
    }); 
    } 
}; 

$(document).ready(function() { 
    IOMaximizeButton.setup(); 
}); 

這裏是我的HTML的身體:

<body> 
    <a href="#" data-role="button" data-icon="delete">Maximize</a> 
    <iframe id='iframe-primary' name='iframe-primary' src='foo.html' /> 
    <iframe id='iframe-secondary' name='iframe-secondary' src='bar.html' /> 
    </body> 

我想這是我的點擊按鈕時的JavaScript執行。但它似乎並沒有觸發。爲什麼?

我已經導入我的JS文件在HTML頁面的底部順便說一句。

回答

3

在你的對象時綁定按鈕,this指對象本身的實例,所以你試圖將一個click事件綁定到JavaScript對象,而不是DOM元素。我猜你實際上想要的是這樣的:

var IOMaximizeButton = { 
setup: function() { 
    $("#yourButton").click(function(){ 
     console.log("maximize button was clicked!"); 
    }); 
    } 
}; 

這是working example

+0

恭喜,10K用戶:) – Starx

+0

謝謝:)我在9,999只是等待一個upvote! –

+0

我添加了你的代碼。我將HTML中的ID更改爲「yourButton」,但沒有運氣... –

1

你沒有與功能

功能會怎麼稱呼,因爲沒有寫入觸發功能代碼按鈕被點擊

var IOMaximizeButton = { 
    setup: function() { 
     $("#button").click(function(){ 
     console.log("maximize button was clicked!"); 
     }); 
    } 
}; 
<a href="#" id="button">Maximize</a> 
1

您的意思是$("#maximize").click(<a id="maximize" ...

1

你的函數沒有附加到任何選擇器,所以我不能捕獲任何事件。 $(this)是一個空白對象。

嘗試將$(this)更改爲某些特定的選擇器。

相關問題