2012-03-27 93 views
0

不工作这是我的代码:jQuery的类选择在此功能

$('.clicktotriggerajax').live('change', function(){ 
    history.pushState({}, '', this.href); 
    popstate(this.href); 
    return false; 
}); 

我必须在此功能使用class代替id的,因为我将其连接到多个元素。但是,我面临的问题是,使用类.clicktotriggerajax时,此功能无法正常工作。我使用这个函数来异步加载我的页面,好像return false不工作,因为它正在使用url的直接路径,而不是执行我已有的脚本的其余部分,如果您需要查看它。

任何帮助,将不胜感激。

+0

HTML在哪里? – Sparky 2012-03-27 23:36:43

+1

为什么要改变事件?是不是点击更多拨款?也在这种情况下,这是指DOM的对象 – gpasci 2012-03-27 23:37:23

+0

HTML是在这个页面上,http://www.pearlsquirrel.com/loadlistensong.php我从一个javascript函数获得并加载到/listen.php – Eggo 2012-03-27 23:38:05

回答

0

活动事件处理程序在事件传播到文档时触发,因此链中较低的任何事件都会触发。我想这是发生了什么。见http://api.jquery.com/live/

你说这是因为你正在使用一个类。如果你使用一个ID它是否工作?我希望在这两种情况下都会失败。

我已经在那里我有特殊情况的逻辑来处理其他事件排除已经被我的生活处理的一个处理的事件的情况。 (例如,活动处理程序从DOM中删除了某些内容,因此点击处理程序会在进一步处理之前确保它仍处于DOM中)。这是个案例,我不知道此问题的全局解决方案。

我没有一个合理的猜测,你的代码与上一类说,在它的“点击”无论是“变化”事件做。你想阻止什么?你不会试图通过“更改”事件来停止按钮或超链接上的默认操作,对吗?也许你的意思是“点击”事件?

+0

它确实工作,如果我使用一个ID。 – Eggo 2012-03-27 23:44:34

+0

我也尝试了点击事件,但没有奏效。我只使用变化事件来尝试,因为我认为它可以工作,但事实并非如此。 – Eggo 2012-03-27 23:45:42