問題描述

我有一些 html 的模型

<a href=""><img title="next page" alt="next page" src="/themes/me/img/arrn.png"></a>

當我傳送請求時,我收到了伺服器的響應。

有了這個模型,我得到了一個 ajax 請求的響應,將我的程式碼傳送到伺服器。

那麼一切都很好,但當我點選連結瀏覽器想要開啟這個功能作為連結; 意思是點選後我看到位址列

javascript:ShowOld(2367,146986,2)

這意味著瀏覽器的東西是 url,如果我想在 firebug 這樣做的工作。現在我想這樣做,然後當有人點選連結,然後瀏覽器嘗試呼叫已經載入在 DOM 中的功能,而不是試圖在瀏覽器中開啟它們。

最佳解決方案

該語法應該可以正常工作,但您可以嘗試這種替代方法。

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

要麼

<a href="">

次佳解決方案

如果您只具有 「點選事件處理程序」,請改用<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)

第五種方案

您還應該將 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;

因為這將阻止連結在瀏覽器中開啟。

第六種方案

我在一個跨度上使用一點 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");
}

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇