元の onclick イベントが発生する前に別の関数を呼び出す必要があります。次の解決策にたどり着く前に、さまざまなパスを試しました。
function bindEnableFieldToAllLinks() {
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
var link = links[i];
var onclick = link.getAttribute('onclick');
link.onclick = new Function("if(linkClickHandler()){"+onclick+"}");
console.log(link.getAttribute('onclick'));
}
}
これはfirefoxとchromeでトリックを行いますが、IE8は奇妙な動作をしています。onclick変数にある関数が実行されていないようです
。ifステートメントがtrueの後に発生するconsole.logメッセージをすでに追加しました。次の onclick 属性を出力します。
LOG: function anonymous() {
if(linkClickHandler()){function onclick()
{
if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('hoedanigheidForm'), {'hoedanigheidForm:j_id_jsp_443872799_27':'hoedanigheidForm:j_id_jsp_443872799_27'},'');}return false
}}
}
したがって、関数はリンクのonclickにあり、古いonclick関数も同様にあるようです。
誰でもこれで私を助けてくれますか?
ありがとう