如何在HTML中调用JavaScript函数而不是href

74 html javascript debugging

我在HTML中有一些模型

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

我在发送请求时收到了服务器的响应.

通过这个模型,我获得了将我的代码发送到服务器的AJAX请求的响应.

好吧,一切都很好但是当我点击链接时,浏览器想要打开该功能作为链接; 点击后我看到地址栏为

javascript:ShowOld(2367,146986,2)
Run Code Online (Sandbox Code Playgroud)

意思是浏览器的东西,如果我想在firebug中这样做,那就是url.现在我想这样做然后当任何人点击链接时,浏览器会尝试调用已经加载到DOM中的函数,而不是尝试在浏览器中打开它们.

Dut*_*432 166

该语法应该可以正常工作,但您可以尝试这种替代方案.

<a href="javascript:void(0);" onclick="ShowOld(2367,146986,2);">
Run Code Online (Sandbox Code Playgroud)

要么

<a href="javascript:ShowOld(2367, 146986, 2);">
Run Code Online (Sandbox Code Playgroud)

  • @jeffrycopps 在你的函数中尝试单引号 (2认同)

Fel*_*ing 9

如果您只有"点击事件处理程序",请使用<button>替代.链接具有特定的语义含义.

例如:

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


soj*_*oju 7

尝试让你的JavaScript不引人注目:

  • 你应该在href属性中使用真实的链接
  • 并在click事件上添加一个监听器来处理ajax


tol*_*n64 5

我在跨度上使用了一些CSS,使其看起来像这样的链接:

CSS:

.link {
    color:blue;
    text-decoration:underline;
    cursor:pointer;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<span class="link" onclick="javascript:showWindow('url');">Click Me</span>
Run Code Online (Sandbox Code Playgroud)

JAVASCRIPT:

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