ホームページのページリンク全体を読み取り専用にする(クリックできない、href=#
またはhref="javascript:void()"
ユーザーの操作に基づく)ための最良の方法は何ですか。
これを実現するために、JavascriptとCSSのみを使用したかったのです。
ホームページのページリンク全体を読み取り専用にする(クリックできない、href=#
またはhref="javascript:void()"
ユーザーの操作に基づく)ための最良の方法は何ですか。
これを実現するために、JavascriptとCSSのみを使用したかったのです。
Only css
a {
pointer-events: none;
cursor: default;
}
試す
jqueryで
$("a").click(function() { return false; });
バニラjs
var elements = document.getElementsByTagName("a");
for (var i = 0; i < elements.length; i++) {
elements[i].onclick = function () { return false; }
}
このようなものが動作するはずです
var anchors = document.getElementsByTagName('a');
for(var i=0,len=anchors.length;i<len;i++){
anchors[i].href = '#';
}
jQuery
$("a").on("click",function(e) { e.preventDefault();
// anything you want to do on click
});
皮切りに:
links = document.getElementsByTagName('a')
それで:
for (var i=0; i<links.length; ++i) {
// disable a link, for instance like this
links[i].href = "javascript:void()"
}
replaceChildの使用はどうですか- NS6/IE6/Chrome1/FX1 など以降のすべてのブラウザーで動作します。
プレーン JS:
window.onload=function() {
var anchors = document.getElementsByTagName('a');
for(var i=anchors.length-1;i>=0;i--){
var span = document.createElement("span");
span.innerHTML=anchors[i].innerHTML;
anchors[i].parentNode.replaceChild(span,anchors[i])
span=null;
}
}
または、ページのコメントでの私の最初の提案:
window.onload=function() {
var anchors = document.getElementsByTagName('a');
for(var i=anchors.length-1;i>=0;i--){
anchors[i].onclick=function() { return false }
}
}