2011-09-26 166 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)更改为某些特定的选择器。

相关问题