[英]Is there a good way to enable the “open link in a new window” browser menu option on a dom node, without making the link followed on-click?
我想讓一個復雜的dom節點具有“在新窗口中打開鏈接”上下文菜單選項,就像您具有任何標准<a>標記鏈接一樣。 但我不希望該dom節點在單擊時打開該鏈接。 我有什么選擇?
我現在正在做的選擇給我帶來了麻煩。 我目前正在<a>節點上設置一個單擊處理程序,該處理程序調用event.preventDefault()
。 這樣做的問題是,它防止了<a>標記內的所有內容的默認設置。 例如,如果我有一個復選框,則單擊鼠標后該復選框將變為不可選擇狀態。 我可以四處尋找東西,以便解決問題(通過在正確的位置使用stopPropagation()
),但這令人難以置信,並且可能在以后浪費我和我的團隊時間。 有沒有那么簡單的方法?
我有html類型的示例:
<a href="www.whatever.ninja">
<input type='checkbox'/>
<div contenteditable="true">Your cursor could be |here!</div>
<div>More content...</div>
</a>
我將一個類添加到<a>標記中,然后使您的preventDefault調用僅適用於具有該類的元素。 這樣,您就可以設置樣式,使其看起來也不像鏈接。 您是否正在使用類似jQuery的工具? 您可以執行以下操作:
$(document).ready(function() {
$('a.non-clickable').click(function() {
$(this).preventDefault();
});
});
然后在您的html中:
<a href="mylink" class="non-clickable">Some link text</a>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.