桌上的Onclick不工作

时间:2014-06-04 10:19:11

标签: javascript jquery html cordova

我正在使用Cordova构建一个html5手机应用程序,在几个页面中我使用一个表作为按钮。在每个页面中,除了一个之外,这没有问题,但在一个页面上onclick事件不会触发

这是表格的HTML

<div id="buttonHolder" class="MiniButtonGridHolder">
                <table id="AddButton" class="ButtonGrid" >
                    <tr>
                        <td>
                            <p id="AddLink" class="clickableLinks">Add</p>
                        </td>
                    </tr>
                </table>
            </div>

以下是用于设置onlick事件的JavaScript

function SetButton()
                {
                 console.log("next one");
                      var CurrentTable = document.getElementById("AddButton");

                      console.log($(CurrentTable).attr('id'));
                      CurrentTable.onclick = function () {
                          Console.log("set");
                          AddWorkItem();
                      };
                 console.log("NOW SET");
                }

AddWorkItem函数

function AddWorkItem()
                {
                    console.log("Started");
}

当我运行这段代码时,除了单击按钮时执行的两个(IE Set and Started)之外,所有console.log都有效。 Jquery甚至可以获得正确的表ID。

我确信解决方案会让我因为没有看到它而自责,但此刻我花了大约3个小时试图查看我的错误,并且无法找到任何结果。

任何人都可以看到我的错误吗?

修改

我在这里调用此代码

     $(document).on('pagecontainershow', function (event,ui) {
    SetButton();

}

我在这里复制了这个问题: http://jsfiddle.net/p4bR9/2/

4 个答案:

答案 0 :(得分:1)

您需要致电SetButton()console不是Console

jsFiddle

答案 1 :(得分:0)

嗯,您的按钮无法点击,直到onclick事件侦听器添加到其中。在您的SetButton()函数运行之前,这不会被添加。在您发布的代码中,它无法运行。

尝试:

$(document).ready(function(){
    SetButton();
});

答案 2 :(得分:0)

$('#AddButton').on('click',function()
                   {
                       alert("check");
                   });

fiddle demo

答案 3 :(得分:0)

我不确定我明白了。但试图改变这个

Console.log("set");

console.log("set");

并使用事件onlick="SetButton();"

调用表格