何度も書く代わりにreturn false;
、リンクのコレクションを設定して、それらのいずれかがクリックされた場合にクリック機能が実行されるようにする方法はありますreturn false;
か?私はまだほとんどのリンクを持ちたいので、対になるreturn true
コードを表示することは特にありがたいです。return true
return false
目標は、より少ないコードを書くことです。また、理解できない理由でこれが悪い考えかどうかも知りたいです。
何度も書く代わりにreturn false;
、リンクのコレクションを設定して、それらのいずれかがクリックされた場合にクリック機能が実行されるようにする方法はありますreturn false;
か?私はまだほとんどのリンクを持ちたいので、対になるreturn true
コードを表示することは特にありがたいです。return true
return false
目標は、より少ないコードを書くことです。また、理解できない理由でこれが悪い考えかどうかも知りたいです。
最も単純な方法は、1つのイベントリスナーをドキュメントにバインドし、ターゲットをチェックすることです:http: //jsfiddle.net/gKZ7q/
document.addEventListener('click', function(e) {
if (e.target.nodeName.toUpperCase() === 'A') e.preventDefault();
}, false);
ネストされた要素を持つアンカーの場合、ループを追加する必要があります。
var targ = e.target;
do {
if (targ.nodeName.toUpperCase() === 'A') {
e.preventDefault();
break;
}
} while ((targ = targ.parentNode) !== document.documentElement);
// document.body should be fine. Using document.documentElement in case
// that a fool places an anchor outside the <body>