У меня есть макет в 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)
означает, что браузер является URL-адресом, если я хочу сделать это в firebug, который работает. Теперь я хочу сделать это тогда, когда кто-то щелкает ссылку, браузер пытается вызвать функцию, уже загруженную в DOM, вместо того, чтобы пытаться открыть их в браузере.
javascript
html
debugging
Бретт ДеВуди
источник
источник
Ответы:
Этот синтаксис должен работать нормально, но вы можете попробовать эту альтернативу.
<a href="javascript:void(0);" onclick="ShowOld(2367,146986,2);">
или
<a href="javascript:ShowOld(2367, 146986, 2);">
ОБНОВЛЕННЫЙ ОТВЕТ НА СТРОЧНЫЕ ЗНАЧЕНИЯ
Если вы передаете строки, используйте одинарные кавычки для параметров вашей функции.
<a href="javascript:ShowOld('foo', 146986, 'bar');">
источник
Если у вас есть только «обработчик события щелчка», используйте
<button>
вместо него. Ссылка имеет особое семантическое значение.Например:
<button onclick="ShowOld(2367,146986,2)"> <img title="next page" alt="next page" src="/themes/me/img/arrn.png"> </button>
источник
Постарайтесь сделать свой javascript ненавязчивым:
источник
href
не является обязательным, просто опустите его.Я использую немного 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"); }
источник
Вы также должны отделить 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;
так как это остановит открытие ссылки в браузере.
источник
href
не является обязательным, просто опустите его.<a href="#" onclick="javascript:ShowOld(2367,146986,2)">
источник
#
использованияhref="javascript:void(0)
href
не является обязательным, просто опустите его.href
не является обязательным дляa
элементов.Вполне достаточно использовать
<a onclick="ShowOld(2367,146986,2)">link text</a>
источник