如何在HTML中调用JavaScript函数而不是href
我有一些HTML模型
<a href="javascript:ShowOld(2367,146986,2)"><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a>
发送请求时,我收到了服务器的响应。
有了这个模型,我得到了AJAX请求的响应,将我的代码发送到服务器。
那么,一切都很好,但当我点击链接浏览器想打开链接的function; 点击后我的意思是看到地址栏
javascript:ShowOld(2367,146986,2)
意味着浏览器的东西,如果我想在做这个萤火虫这是工作的url。 现在我想这样做,然后当任何人点击链接时,浏览器试图调用已经加载在DOM中的function,而不是试图在浏览器中打开它们。
该语法应该可以,但是你可以尝试这个select。
<a href="javascript:void(0);" onclick="ShowOld(2367,146986,2);">
要么
<a href="javascript:ShowOld(2367,146986,2);">
如果您只有“单击事件处理程序”,请改为使用<button>
。 链接具有特定的语义。
例如:
<button onclick="ShowOld(2367,146986,2)"> <img title="next page" alt="next page" src="/themes/me/img/arrn.png"> </button>
尽量让你的JavaScript不显眼:
- 你应该在href属性中使用一个真正的链接
- 并在click事件上添加一个监听器来处理ajax
href="#" onclick="javascript:ShowOld(2367,146986,2)
你也应该将HTML从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;
因为这将阻止在浏览器中打开链接。
我在一个跨度上使用了一个小小的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"); }