0

我试图调用一个函数而不是警报,我认为这就像做这样的事情一样简单: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>
4

2 回答 2

2

那改变一下呢:

alert("New Info Added");

对此:

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

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

于 2013-07-23T20:29:56.993 回答
1

需要区分的一件事很重要:

alert("New Info Added")是一个函数。实际上,alert()是一个函数,被传递参数“新信息添加”。

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

意思的整个语法$('#append').click(function(e) {本身就是语法错误。您正在做的是告诉选择器中的元素它们的点击功能应该是什么。但是function(e) {说它是函数代码的开始。那行代码直到结束})-}关闭函数声明和)关闭对click.

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

$('#append').click()

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

于 2013-07-23T20:39:14.370 回答