Подтвердить что ты не робот

Как вызвать функцию JavaScript вместо href в HTML

У меня есть макет в HTML

<a href="javascript:ShowOld(2367,146986,2)"><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a>

Я получил ответ от сервера, когда отправил запрос.

С помощью этого макета я получил ответ от запроса AJAX, который отправляет мой код на сервер.

Ну, все нормально, но когда я нажимаю на ссылку, браузер хочет открыть функцию как ссылку; значение после щелчка Я вижу адресную строку как

javascript:ShowOld(2367,146986,2)

означает вещь браузера, которая ссылается, если я хочу сделать это в firebug, который работает. Теперь я хочу сделать это, тогда, когда кто-либо нажимает на ссылку, браузер пытается вызвать функцию, уже загруженную в DOM, вместо того, чтобы открывать их в браузере.

4b9b3361

Ответ 1

Этот синтаксис должен работать хорошо, но вы можете попробовать эту альтернативу.

<a href="javascript:void(0);" onclick="ShowOld(2367,146986,2);">

или

<a href="javascript:ShowOld(2367, 146986, 2);">

ОБНОВЛЕННЫЙ ОТВЕТ НА СТРОИТЕЛЬНЫЕ ЗНАЧЕНИЯ

Если вы передаете строки, используйте одинарные кавычки для параметров вашей функции

<a href="javascript:ShowOld('foo', 146986, 'bar');">

Ответ 2

Если у вас есть только "обработчик событий кликов", используйте вместо него <button>. Ссылка имеет специфический смысловой смысл.

например:.

<button onclick="ShowOld(2367,146986,2)">
    <img title="next page" alt="next page" src="/themes/me/img/arrn.png">
</button>

Ответ 3

Попробуйте сделать ваш javascript ненавязчивым:

  • вы должны использовать реальную ссылку в атрибуте href
  • и добавить слушателя в событие click для обработки ajax

Ответ 4

href="#" onclick="javascript:ShowOld(2367,146986,2)

Ответ 5

Я использую небольшой CSS на промежутке, чтобы он выглядел как ссылка, например:

CSS

.link {
    color:blue;
    text-decoration:underline;
    cursor:pointer;
}

HTML:

<span class="link" onclick="javascript:showWindow('url');">Click Me</span>

JAVASCRIPT:

function showWindow(url) {
    window.open(url, "_blank", "directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes");
}

Ответ 6

Также следует отделить javascript от HTML.
HTML:

<a href="#" id="function-click"><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a>

javascript:

myLink = document.getElementById('function-click');
myLink.onclick = ShowOld(2367,146986,2);

Просто убедитесь, что последняя строка в функции ShowOld:

return false;

так как это приведет к тому, что ссылка не откроется в браузере.