如何在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"); }