Обработка кликов для jQuery AJAX (с PHP) - PullRequest
3 голосов
/ 25 сентября 2010

Не уверен, как точно сформулировать этот вопрос, но я попробую.(Если у вас есть предложение о том, как лучше сформулировать его, чтобы другие могли его найти, скажите мне, и я его отредактирую).

Я хочу узнать лучшие методы обработки кликов на странице, которые затемобрабатывается с помощью AJAX.Я временно использовал код, который выглядит следующим образом в HTML:

<a href="#clickable">Click me!</a>

И в jQuery я обрабатываю клики, привязывая click к href.

Конечно,Я знаю, что вы не должны сообщать об этом пользователю .

Так как же мне обрабатывать эти клики?

Ответы [ 3 ]

1 голос
/ 25 сентября 2010

Вы должны сделать свой HTML таким, чтобы он работал, если Javascript отключен.Не смешивайте контент с функциональностью, поэтому встроенный Javascript обычно не является хорошим решением.

Итак, в вашем случае:

<a href="some/working/path.php" class="ajax">Meaningful description!</a>

Затем вы можете добавить класс (или проверить текствнутри или что-то еще) для обработки на стороне Javascript.

Обязательно используйте event.preventDefault () , чтобы остановить изменение страницы, если Javascriptвключен.

Таким образом, jQuery будет

  // Target only anchors with class "ajax"
$("a.ajax").click(function(event) { 

    // Handle AJAX etc here.
    // ...

    event.preventDefault(); // <== Don't navigate away from page
});
0 голосов
/ 25 сентября 2010

У меня обычно есть ссылка href на статическую страницу php, а затем я использую javascript, чтобы изменить ссылку href на страницу обработки ajax, затем вы можете ссылаться на нее в вызове ajax.

0 голосов
/ 25 сентября 2010

Я не совсем уверен, что понимаю ваш вопрос тоже xD

Вы можете обработать щелчок, выполнив что-то вроде

$("a").click(function() {
  // do some stuff
});

Это ответ на ваш вопрос?

Edit: Ok.

Вам просто нужно сделать что-то вроде этого:

<a href='link' onClick='return MyClass.myFunction()'>keyword </a>

Если я хорошо помню, вы возвращаете FALSE в JS, чтобы остаться на той же странице (и делаете некоторыепроцесс с Ajax).Если JS не активирован, будет использоваться PHP; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...