jQuery Basic问题

时间:2010-09-16 13:09:34

标签: javascript jquery

我有一个显示一些数据的页面。它是使用php和mysql从数据库加载的,我使用zend框架来处理所有这些。

在这个页面上,我有两个使用jquery的东西。一个是分页符,另一个是重击功能。

分页符工作正常。它以json的形式接收数据并将其应用于视图。我需要处理的所有函数都位于一个js文件中。在这个文件中,我听取了点击次数......

$(document).ready(function() {
$("a#next").click(getProgramms);
$("a#previous").click(getProgramms);
$("a#page").each(function() {
    $(this).click(getProgramms);
});
});

现在我遇到了重击功能。它位于另一个js文件中。每次单击竖起大拇指按钮时,脚本应仅提醒“单击”。实际上,当您在使用分页符之前单击时会出现“单击”,但是当您在没有任何操作之后执行此操作时。但dom检查员中的html似乎是一样的。

在我的thumpsup.js中我只是

$(document).ready(function() {
$("a.tp").click(thumpsUp);
});

function thumpsUp() {
alert("click");
}

我不知道问题出在哪里。也许js文件互相干扰!?

function thumpsUp() {
var url = window.location.hostname + '/programme/thumpsup/id/'
        + $(this).attr('page');
$.post(url, {
    "format" : "json"
}, function(data) {
    alert(data);
}, 'html');
return false;

}

2 个答案:

答案 0 :(得分:1)

我猜测paginator正在重写你的元素,他们正在失去他们的点击事件绑定。尝试使用live()代替事件绑定:

$(document).ready(function() {
    $("a.tp").live('click',thumpsUp);
});

function thumpsUp() {
    alert("click");
}

答案 1 :(得分:0)

您可能会错误地将脚本文件(包含在标记中)包含在内。这是我能想到的唯一解决方案......

我很确定你可以使用两个 $(document).ready()来逃避(即使它不受欢迎)。