我有以下单击事件,它调用codeigniter方法来更新我的数据库。它用于跟踪链接点击。它在IE9中工作,但不在Firefox 3.6.3中工作。firefox中的jQuery点击事件问题
$(".link").click(function(event) {
$.get('<?= base_url() ?>ajax/click_out/' + $(this).attr("site_id"));
});
它调用正确的php文件并发送正确的信息,但得到一个空的响应。如果我在获取后添加警报,它会起作用,而且如果我阻止默认事件,它也会起作用。是否有可能firefox没有完成ajax,因为代码一旦加载新页面就消失了?
为了测试这一点,我修改了代码:
$(".link").click(function(event) {
event.preventDefault();
var link = $(this);
$.get('<?= base_url() ?>ajax/click_out/' + $(this).attr("site_id"));
window.document.location.href = $(this).attr("href");
});
我认为,这将不得不等待,直到重定向的GET完成,但也不管用。如果我拿出重定向,但离开preventDefault,它跟踪点击就好(但显然不会将用户发送到站点。)
如果需要,链接的html是:
<a href="<?= $url ?>" site_id="<?= $site_id ?>" class="link"><?= $title ?></a>
我很新的jQuery和JavaScript和希望得到任何帮助我能!
'= link.href' .. – SLaks
@SLaks:TNX: ).. – Rafay