クリックしたときにいくつかの追加作業を行うように、ページ上のすべてのリンクを修正しようとしています。JavaScript:既存のものを上書きせずにonClickハンドラを追加する
function adaptLinks()
{
var links = document.getElementsByTagName('a');
for(i = 0; i != links.length; i++)
{
links[i].onclick = function (e)
{
<do some work>
return true;
}
}
}
しかし、リンクの一部は、すでに保存されるべきのonClickハンドラを持っている:
些細なアプローチは、このようなものかもしれません。私は、次のことを試してみました:
function adaptLinks()
{
var links = document.getElementsByTagName('a');
for(i = 0; i != links.length; i++)
{
var oldOnClick = links[i].onclick;
links[i].onclick = function (e)
{
if(oldOnClick != null && !oldOnClick())
{
return false;
}
<do some work>
return true;
}
}
}
しかし、ハンドラが(それはこのポイントとして最後リンクの値を含む)が呼び出されたときにoldOnClickのみが評価されるため、これは動作しません。
ましたここでは、jQueryを使用して解決します。私は現在、いくつかの他のタスクも緩和しているように見ています。 – rluba