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にこれを行うように指示する明確な方法が見つかりません。

質問:リンクのデフォルトイベントを防ぐにはどうすればよいですか?または; 私は本当にリンクをまったく使用すべきではありませんか?もしそうなら、私は何を使うべきですか?

4

2 に答える 2

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;
});
于 2012-12-31T12:14:01.387 に答える
0

したがって、リンクがたどられた理由は本当に愚かでした。jQueryを適切に含めていませんでした...ここに顔を保存する方法はありません。:/私を助けてくれたJaredに感謝します!

于 2012-12-31T13:27:50.743 に答える