为什么我的按钮点击事件没有被触发?

时间:2011-09-26 17:23:54

标签: javascript html jquery-mobile

我有以下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。但它似乎没有触发。为什么?

我已经在HTML页面底部输入了我的JS文件。

4 个答案:

答案 0 :(得分:3)

在您的对象中,this引用对象本身的实例,因此您尝试将click事件绑定到JavaScript对象,而不是DOM元素。我猜你真的想要这样的东西:

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

这是working example

答案 1 :(得分:1)

您没有使用功能

绑定按钮

该函数将如何调用,因为没有编写代码来单击按钮时触发该功能

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

您的功能未附加到任何选择器,因此我无法捕捉任何事件。 $(this)是一个空白对象。

尝试将$(this)更改为某些特定的选择器。