Я хочу использовать встроенную загрузку (через AJAX) на своем веб-сайте и в то же время сохранять (некоторые) функции для людей без доступа к Javascript (если они все еще существуют).jQuery block a href
Мое меню'S:
<?php
echo "<h3 id='title'></h3>";
if (empty($_SESSION['uid'])) {
echo "<a href='index'>Home</a> <br> ";
echo "<a href='register'>Register</a> <br> ";
echo "<a href='login'>Log In</a> <br> ";
echo "<a href='browser'>Browse MarketPlace</a> <br> ";
echo "<a href='support'>Support us!</a>";
}
elseif (!empty($_SESSION['uid'])) {
echo "<a href='index'>Home</a> <br> ";
echo "<a href='overview'>Account Overview</a> <br> ";
echo "<a href='browser'>Browse MarketPlace</a> <br> ";
echo "<a href='sell'>Sell Items</a> <br> ";
echo "<a href='logout'>Logout</a> <br> ";
echo "<a href='support'>Support us!</a>";
}
?>
Мои Javascript:
$(document).ready(function() {
$(document).on("click", "a", function(event) {
var dataUrl = $(this).attr("href");
if (dataUrl != "") {
loadPage(dataUrl);
}
return false;
});
});
Является ли это правильный способ сделать это? Меня особенно беспокоит необходимость блокировать оригинальный вызов a href
, собственный браузер.
Он отлично работал, когда я использовал что-то обычное, как <a data-url='index'>
. Затем я попробовал новую версию и не работал так, как ожидалось, без return false;
, но теперь это так, поэтому я не слишком уверен в этом.
http://api.jquery.com/event.preventDefault/ – Blazemonger
использование 'event.preventDefault()' –