简单的Javascript调用函数不工作/不知道如何让它工作

时间:2013-07-23 20:26:28

标签: javascript jquery ajax tablesorter

我正在尝试调用函数而不是警报,我认为它就像执行以下操作一样简单:FunctionsName();并删除警报('');但它不适合我:(

有人可以查看我下面的代码并告诉我出了什么问题吗?

非常感谢!!

<script type="text/javascript">
var comper;
function checkComper() {
    var onResponse = function(comperNow) {  

        if (comper === undefined) {
            comper = comperNow;
            return;
        }

        if (comper !== comperNow) {
            // show a message to the visitor
            alert("New Info Added"); // <--*** I WANT TO TAKE THIS OUT AND CALL $("#append").click(function(e)

            comper = comperNow;
        }
    };
    $.get('getlastupdate.php', onResponse);
}

var tid = setInterval(checkComper, 2000); 

$(function() {

    var $table = $("table.tablesorter");
    $("#append").click(function(e) { 
        e.preventDefault();
        $.get('updatetable.php', function(data) 
              {
                  $table
                  .find('tbody')
                  .html('')
                  .append(data);
                  $table.trigger("update", [true]);
              });
    });
/*........ and so on.... */
</script>

2 个答案:

答案 0 :(得分:2)

如何改变:

alert("New Info Added");

到那个:

$('#append').trigger('click');

它将模拟点击并触发该功能。

答案 1 :(得分:1)

要区分的一件事很重要:

alert("New Info Added")是一个功能。实际上,alert()是一个函数,传递了参数&#34; New Info Added&#34;。

$('#append').click(function(e) { 一个函数,至少不是以相同的方式。 $('#append')是一个jQuery选择器函数,它选择id为&#34; append&#34;的所有元素。 $('#append').click()是一个为选择器中返回的所有元素设置click事件的函数。

$('#append').click(function(e) {的整个语法是什么意思是它自己的语法错误。你正在做的是告诉选择器中的元素他们的点击功能应该是什么。但function(e) {表示它是函数代码的开头。在结束})之前,该行代码尚未完成 - 关闭函数声明的}和关闭)调用的click

所以,你不能简单地用alert("New Info Added")替换$('#append').click(function(e) {,这是一个完整的函数调用,因为它有语法错误 - 你还没有完成function(e)声明,click函数调用。你可以触发点击功能,正如卡尔的回答告诉你的那样。或者,您可以使用快捷方式:

$('#append').click()

请注意,此 是一个完整正确的句子,因此可以替换alert