簡體   English   中英

編寫javascript:void(0)的更好方法是什么?

[英]what's a better way to write javascript:void(0)?

編寫以下內容的更好或正確的方法是什么:

<a href="javascript:void(0)" onclick ="$('p').show()">click here</a>

如果您使用的是jQuery,則正確的方法是:

html

<a href="#">Link</a>

Q

$('a').click(function(e){ e.preventDefault(); $('p').show(); });

完全忽略href

<a onclick ="$('p').show()>click here</a>

由於您正在使用jQuery,因此請充分利用它:

<a id="your-id">click here</a>

<script>
$('#your-id').click(function() {
    $('p').show();
});
</script>

使用#並在onclick處理程序中return false

return false阻止遵循URL。 #的錨點指向當前頁面,因此可以打開/添加鏈接鏈接。

<a href="#" onclick="$('p').show();return false;">click here</a>

在語義上正確的做法是使用按鈕標簽而不是標簽。 在鏈接中使用javascript:void(0)是不好的做法。 射擊,包括任何內聯JavaScript都是不好的做法。

讓它指向一個URL,該URL將使所需的元素通過服務器側視圖技術(例如PHP / JSP / ASP)顯示出來,以便該鏈接仍對禁用JS的客戶端有效。

例如在JSP中:

<a href="currentPage.jsp?foo=1" class="foo">link</a>
<p class="bar ${param.foo != 1 ? 'hide' : ''}">paragraph</p>

$(".foo").click(function() {
    $(this).next(".bar").show();
    return false;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM