如何抑制JsHelper为Ajax请求做出的链接的默认事件? (CakePHP的)

时间:2012-12-31 11:51:04

标签: jquery ajax hyperlink cakephp-2.0

目标:我想点击一个链接,并将生成的ajax调用返回的html加载到div中。

我使用JsHelper建立了一个链接,如下所示:

<?php echo $this->Js->link('Do some ajax!', array( 
            'controller' => 'items',
            'action' => 'view',
            1
        ), array('update' => '#item'));?>

但不是跟进ajax请求,而是遵循链接。

在jQuery中,可以使用event.preventDefault()来压制链接的默认事件,但我找不到告诉JsHelper执行此操作的明显方法。

问题:如何阻止链接的默认事件? 替代地;我真的不应该使用链接吗?如果是这样,我应该使用什么?

2 个答案:

答案 0 :(得分:1)

JsHelper docs,看起来你会把它们并排放在一起:

echo $this->Js->link(
    'Do some ajax!', 
     array('controller' => 'items','action' => 'view', 1), 
     array('update' => '#item')
);
this->Js->event('click', $this->Js->alert('hey you!'));

我怀疑你想要那里的alert(),但那是来自文档,我没有其他任何东西。它似乎默认为return false;,这是您应该用来取消点击的内容。这是它在标记中实际输出的内容:

$('#some-link').bind('click', function (event) {
    alert('hey you!');
    return false;
});

答案 1 :(得分:0)

所以链接被遵循的原因真是太愚蠢了。我没有正确地包含jQuery ...这里没有办法保存面部。 :/非常感谢Jared尝试帮助我!